From 60b939d8dc57fa45f310b0ec8de292e4a0a339e0 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Tue, 29 Nov 2022 10:57:26 +0100 Subject: [PATCH] Start group chat in HomeComponent --- .../Sources/HomeFeature/HomeComponent.swift | 4 ++++ .../Tests/HomeFeatureTests/HomeComponentTests.swift | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeComponent.swift index 18212bf0..1f209ba3 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 3bd49a42..f381d204 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)) -- GitLab