diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift index 18212bf0ca916cffff86f5a4ee6cb09f4d220359..1f209ba392b3a22210778221499d6bf567e9484e 100644 --- a/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift +++ b/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift @@ -119,6 +119,10 @@ public struct HomeComponent: ReducerProtocol { try messenger.startFileTransfer() } + if messenger.isGroupChatRunning() == false { + try messenger.startGroupChat() + } + if messenger.isLoggedIn() == false { if try messenger.isRegistered() == false { return .success(.messenger(.didStartUnregistered)) diff --git a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeComponentTests.swift b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeComponentTests.swift index 3bd49a4283b9b4e535c40fb8c9279a5482aa3d16..f381d20481b1800fa3ec9f827bc17d6925ee01b8 100644 --- a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeComponentTests.swift +++ b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeComponentTests.swift @@ -22,6 +22,7 @@ final class HomeComponentTests: XCTestCase { var messengerDidConnect = 0 var messengerDidListenForMessages = 0 var messengerDidStartFileTransfer = 0 + var messengerDidStartGroupChat = 0 store.dependencies.app.bgQueue = .immediate store.dependencies.app.mainQueue = .immediate @@ -34,6 +35,8 @@ final class HomeComponentTests: XCTestCase { store.dependencies.app.messenger.startFileTransfer.run = { messengerDidStartFileTransfer += 1 } store.dependencies.app.messenger.isLoggedIn.run = { false } store.dependencies.app.messenger.isRegistered.run = { false } + store.dependencies.app.messenger.isGroupChatRunning.run = { false } + store.dependencies.app.messenger.startGroupChat.run = { messengerDidStartGroupChat += 1 } store.send(.messenger(.start)) @@ -41,6 +44,7 @@ final class HomeComponentTests: XCTestCase { XCTAssertNoDifference(messengerDidConnect, 1) XCTAssertNoDifference(messengerDidListenForMessages, 1) XCTAssertNoDifference(messengerDidStartFileTransfer, 1) + XCTAssertNoDifference(messengerDidStartGroupChat, 1) store.receive(.networkMonitor(.stop)) store.receive(.messenger(.didStartUnregistered)) { @@ -60,6 +64,7 @@ final class HomeComponentTests: XCTestCase { var messengerDidStartFileTransfer = 0 var messengerDidLogIn = 0 var messengerDidResumeBackup = 0 + var messengerDidStartGroupChat = 0 store.dependencies.app.bgQueue = .immediate store.dependencies.app.mainQueue = .immediate @@ -84,6 +89,8 @@ final class HomeComponentTests: XCTestCase { } return cMix } + store.dependencies.app.messenger.isGroupChatRunning.run = { false } + store.dependencies.app.messenger.startGroupChat.run = { messengerDidStartGroupChat += 1 } store.send(.messenger(.start)) @@ -93,6 +100,7 @@ final class HomeComponentTests: XCTestCase { XCTAssertNoDifference(messengerDidStartFileTransfer, 1) XCTAssertNoDifference(messengerDidLogIn, 1) XCTAssertNoDifference(messengerDidResumeBackup, 1) + XCTAssertNoDifference(messengerDidStartGroupChat, 1) store.receive(.networkMonitor(.stop)) store.receive(.messenger(.didStartRegistered)) @@ -131,6 +139,7 @@ final class HomeComponentTests: XCTestCase { } return cMix } + store.dependencies.app.messenger.isGroupChatRunning.run = { true } store.send(.register(.finished)) { $0.register = nil @@ -209,6 +218,7 @@ final class HomeComponentTests: XCTestCase { store.dependencies.app.messenger.isFileTransferRunning.run = { true } store.dependencies.app.messenger.isLoggedIn.run = { false } store.dependencies.app.messenger.isRegistered.run = { throw error } + store.dependencies.app.messenger.isGroupChatRunning.run = { true } store.send(.messenger(.start)) @@ -236,6 +246,7 @@ final class HomeComponentTests: XCTestCase { store.dependencies.app.messenger.isLoggedIn.run = { false } store.dependencies.app.messenger.isRegistered.run = { true } store.dependencies.app.messenger.logIn.run = { throw error } + store.dependencies.app.messenger.isGroupChatRunning.run = { true } store.send(.messenger(.start))