diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift index f2015ebc2434ecaada1ba9abd4d345cea91bd03e..6433dd330faac74045cad472798cd8c06a79cb40 100644 --- a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift +++ b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift @@ -151,6 +151,10 @@ public let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment> try env.messenger.listenForMessages() } + if env.messenger.isFileTransferRunning() == false { + try env.messenger.startFileTransfer() + } + if env.messenger.isLoggedIn() == false { if try env.messenger.isRegistered() == false { return .success(.messenger(.didStartUnregistered)) diff --git a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift index 3a57414bb46df0058870adb5078aae2dfc41bf7c..6c23ff8b718191771ce8dbf30ef4777cfd7303f9 100644 --- a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift +++ b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift @@ -22,6 +22,7 @@ final class HomeFeatureTests: XCTestCase { var messengerDidStartWithTimeout: [Int] = [] var messengerDidConnect = 0 var messengerDidListenForMessages = 0 + var messengerDidStartFileTransfer = 0 store.environment.bgQueue = .immediate store.environment.mainQueue = .immediate @@ -30,6 +31,8 @@ final class HomeFeatureTests: XCTestCase { store.environment.messenger.connect.run = { messengerDidConnect += 1 } store.environment.messenger.isListeningForMessages.run = { false } store.environment.messenger.listenForMessages.run = { messengerDidListenForMessages += 1 } + store.environment.messenger.isFileTransferRunning.run = { false } + store.environment.messenger.startFileTransfer.run = { messengerDidStartFileTransfer += 1 } store.environment.messenger.isLoggedIn.run = { false } store.environment.messenger.isRegistered.run = { false } @@ -38,6 +41,7 @@ final class HomeFeatureTests: XCTestCase { XCTAssertNoDifference(messengerDidStartWithTimeout, [30_000]) XCTAssertNoDifference(messengerDidConnect, 1) XCTAssertNoDifference(messengerDidListenForMessages, 1) + XCTAssertNoDifference(messengerDidStartFileTransfer, 1) store.receive(.networkMonitor(.stop)) store.receive(.messenger(.didStartUnregistered)) { @@ -55,6 +59,7 @@ final class HomeFeatureTests: XCTestCase { var messengerDidStartWithTimeout: [Int] = [] var messengerDidConnect = 0 var messengerDidListenForMessages = 0 + var messengerDidStartFileTransfer = 0 var messengerDidLogIn = 0 var messengerDidResumeBackup = 0 @@ -65,6 +70,8 @@ final class HomeFeatureTests: XCTestCase { store.environment.messenger.connect.run = { messengerDidConnect += 1 } store.environment.messenger.isListeningForMessages.run = { false } store.environment.messenger.listenForMessages.run = { messengerDidListenForMessages += 1 } + store.environment.messenger.isFileTransferRunning.run = { false } + store.environment.messenger.startFileTransfer.run = { messengerDidStartFileTransfer += 1 } store.environment.messenger.isLoggedIn.run = { false } store.environment.messenger.isRegistered.run = { true } store.environment.messenger.logIn.run = { messengerDidLogIn += 1 } @@ -85,6 +92,7 @@ final class HomeFeatureTests: XCTestCase { XCTAssertNoDifference(messengerDidStartWithTimeout, [30_000]) XCTAssertNoDifference(messengerDidConnect, 1) XCTAssertNoDifference(messengerDidListenForMessages, 1) + XCTAssertNoDifference(messengerDidStartFileTransfer, 1) XCTAssertNoDifference(messengerDidLogIn, 1) XCTAssertNoDifference(messengerDidResumeBackup, 1) @@ -112,6 +120,7 @@ final class HomeFeatureTests: XCTestCase { store.environment.messenger.start.run = { messengerDidStartWithTimeout.append($0) } store.environment.messenger.isConnected.run = { true } store.environment.messenger.isListeningForMessages.run = { true } + store.environment.messenger.isFileTransferRunning.run = { true } store.environment.messenger.isLoggedIn.run = { false } store.environment.messenger.isRegistered.run = { true } store.environment.messenger.logIn.run = { messengerDidLogIn += 1 } @@ -203,6 +212,7 @@ final class HomeFeatureTests: XCTestCase { store.environment.messenger.start.run = { _ in } store.environment.messenger.isConnected.run = { true } store.environment.messenger.isListeningForMessages.run = { true } + store.environment.messenger.isFileTransferRunning.run = { true } store.environment.messenger.isLoggedIn.run = { false } store.environment.messenger.isRegistered.run = { throw error } @@ -229,6 +239,7 @@ final class HomeFeatureTests: XCTestCase { store.environment.messenger.start.run = { _ in } store.environment.messenger.isConnected.run = { true } store.environment.messenger.isListeningForMessages.run = { true } + store.environment.messenger.isFileTransferRunning.run = { true } store.environment.messenger.isLoggedIn.run = { false } store.environment.messenger.isRegistered.run = { true } store.environment.messenger.logIn.run = { throw error }