diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift index b2b18a4dd28110e05e9490b3e1e8556fbf5e6b7d..392c882068d67b026f70bff9c23ead518e5e8323 100644 --- a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift +++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift @@ -19,6 +19,7 @@ extension MessengerDestroy { env.sleep(1) } } + env.groupChat.set(nil) env.fileTransfer.set(nil) env.backup.set(nil) env.ud.set(nil) diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift index 3f87cacb3204fd02488a76dfe2b07f219dba8095..9a784a16cf733eec148b14b30e12e0e83faa90af 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift @@ -10,6 +10,7 @@ final class MessengerDestroyTests: XCTestCase { var didStopNetworkFollower = 0 var didSleep: [TimeInterval] = [] var didRemoveItem: [String] = [] + var didSetGroupChat: [GroupChat?] = [] var didSetFileTransfer: [FileTransfer?] = [] var didSetBackup: [Backup?] = [] var didSetUD: [UserDiscovery?] = [] @@ -29,6 +30,7 @@ final class MessengerDestroyTests: XCTestCase { } env.sleep = { didSleep.append($0) } env.storageDir = storageDir + env.groupChat.set = { didSetGroupChat.append($0) } env.fileTransfer.set = { didSetFileTransfer.append($0) } env.backup.set = { didSetBackup.append($0) } env.ud.set = { didSetUD.append($0) } @@ -44,6 +46,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertNoDifference(didStopNetworkFollower, 1) XCTAssertNoDifference(didSleep, [1, 1]) + XCTAssertNoDifference(didSetGroupChat.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true]) @@ -76,6 +79,7 @@ final class MessengerDestroyTests: XCTestCase { func testRemoveDirectoryFailure() { struct Error: Swift.Error, Equatable {} let error = Error() + var didSetGroupChat: [GroupChat?] = [] var didSetFileTransfer: [FileTransfer?] = [] var didSetBackup: [Backup?] = [] var didSetUD: [UserDiscovery?] = [] @@ -86,6 +90,7 @@ final class MessengerDestroyTests: XCTestCase { var env: MessengerEnvironment = .unimplemented env.cMix.get = { nil } + env.groupChat.set = { didSetGroupChat.append($0) } env.fileTransfer.set = { didSetFileTransfer.append($0) } env.backup.set = { didSetBackup.append($0) } env.ud.set = { didSetUD.append($0) } @@ -99,6 +104,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertThrowsError(try destroy()) { err in XCTAssertEqual(err as? Error, error) } + XCTAssertNoDifference(didSetGroupChat.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true]) @@ -113,6 +119,7 @@ final class MessengerDestroyTests: XCTestCase { let error = Error() let storageDir = "test-storage-dir" var didRemoveItem: [String] = [] + var didSetGroupChat: [GroupChat?] = [] var didSetFileTransfer: [FileTransfer?] = [] var didSetBackup: [Backup?] = [] var didSetUD: [UserDiscovery?] = [] @@ -123,6 +130,7 @@ final class MessengerDestroyTests: XCTestCase { var env: MessengerEnvironment = .unimplemented env.cMix.get = { nil } + env.groupChat.set = { didSetGroupChat.append($0) } env.fileTransfer.set = { didSetFileTransfer.append($0) } env.backup.set = { didSetBackup.append($0) } env.ud.set = { didSetUD.append($0) } @@ -138,6 +146,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertThrowsError(try destroy()) { err in XCTAssertEqual(err as? Error, error) } + XCTAssertNoDifference(didSetGroupChat.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetFileTransfer.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetBackup.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetUD.map { $0 == nil }, [true])