From 14b12aba6f45df9fd1d8a46f68b42aee891c9f7c Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 19 Oct 2022 11:23:51 +0200 Subject: [PATCH] Start file transfer when app starts --- .../Sources/HomeFeature/HomeFeature.swift | 4 ++++ .../Tests/HomeFeatureTests/HomeFeatureTests.swift | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift index f2015ebc..6433dd33 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 3a57414b..6c23ff8b 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 } -- GitLab