diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift index c7ee476c543c7096c7bcf8dca8716c607775faff..b2b18a4dd28110e05e9490b3e1e8556fbf5e6b7d 100644 --- a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift +++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift @@ -25,6 +25,7 @@ extension MessengerDestroy { env.e2e.set(nil) env.cMix.set(nil) env.isListeningForMessages.set(false) + env.serviceList.set(nil) try env.fileManager.removeItem(env.storageDir) try env.passwordStorage.remove() } diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift index 927bc9e3c247814be28172cb97407d4b7f843ad7..3f87cacb3204fd02488a76dfe2b07f219dba8095 100644 --- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift +++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerDestroyTests.swift @@ -17,6 +17,7 @@ final class MessengerDestroyTests: XCTestCase { var didSetCMix: [CMix?] = [] var didRemovePassword = 0 var didSetIsListeningForMessages: [Bool] = [] + var didSetServiceList: [MessageServiceList?] = [] var env: MessengerEnvironment = .unimplemented env.cMix.get = { @@ -34,6 +35,7 @@ final class MessengerDestroyTests: XCTestCase { env.e2e.set = { didSetE2E.append($0) } env.cMix.set = { didSetCMix.append($0) } env.isListeningForMessages.set = { didSetIsListeningForMessages.append($0) } + env.serviceList.set = { didSetServiceList.append($0) } env.fileManager.removeItem = { didRemoveItem.append($0) } env.passwordStorage.remove = { didRemovePassword += 1 } let destroy: MessengerDestroy = .live(env) @@ -48,6 +50,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetIsListeningForMessages, [false]) + XCTAssertNoDifference(didSetServiceList.map { $0 == nil }, [true]) XCTAssertNoDifference(didRemoveItem, [storageDir]) XCTAssertNoDifference(didRemovePassword, 1) } @@ -79,6 +82,7 @@ final class MessengerDestroyTests: XCTestCase { var didSetE2E: [E2E?] = [] var didSetCMix: [CMix?] = [] var didSetIsListeningForMessages: [Bool] = [] + var didSetServiceList: [MessageServiceList?] = [] var env: MessengerEnvironment = .unimplemented env.cMix.get = { nil } @@ -88,6 +92,7 @@ final class MessengerDestroyTests: XCTestCase { env.e2e.set = { didSetE2E.append($0) } env.cMix.set = { didSetCMix.append($0) } env.isListeningForMessages.set = { didSetIsListeningForMessages.append($0) } + env.serviceList.set = { didSetServiceList.append($0) } env.fileManager.removeItem = { _ in throw error } let destroy: MessengerDestroy = .live(env) @@ -100,6 +105,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetIsListeningForMessages, [false]) + XCTAssertNoDifference(didSetServiceList.map { $0 == nil }, [true]) } func testRemovePasswordFailure() { @@ -113,6 +119,7 @@ final class MessengerDestroyTests: XCTestCase { var didSetE2E: [E2E?] = [] var didSetCMix: [CMix?] = [] var didSetIsListeningForMessages: [Bool] = [] + var didSetServiceList: [MessageServiceList?] = [] var env: MessengerEnvironment = .unimplemented env.cMix.get = { nil } @@ -122,6 +129,7 @@ final class MessengerDestroyTests: XCTestCase { env.e2e.set = { didSetE2E.append($0) } env.cMix.set = { didSetCMix.append($0) } env.isListeningForMessages.set = { didSetIsListeningForMessages.append($0) } + env.serviceList.set = { didSetServiceList.append($0) } env.storageDir = storageDir env.fileManager.removeItem = { didRemoveItem.append($0) } env.passwordStorage.remove = { throw error } @@ -136,6 +144,7 @@ final class MessengerDestroyTests: XCTestCase { XCTAssertNoDifference(didSetE2E.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetCMix.map { $0 == nil }, [true]) XCTAssertNoDifference(didSetIsListeningForMessages, [false]) + XCTAssertNoDifference(didSetServiceList.map { $0 == nil }, [true]) XCTAssertNoDifference(didRemoveItem, [storageDir]) } }