From be76a5cef8472fa3379673f5d0420767fe9f6986 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Tue, 8 Nov 2022 23:07:29 +0100 Subject: [PATCH] Update MessengerDestroy Reset stored services list on destroy --- .../Messenger/Functions/MessengerDestroy.swift | 1 + .../Messenger/Functions/MessengerDestroyTests.swift | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerDestroy.swift index c7ee476c..b2b18a4d 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 927bc9e3..3f87cacb 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]) } } -- GitLab