From 42ff53fda63ac61f36f58531b58e2d41d06a84d8 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Wed, 14 Sep 2022 11:35:31 +0200
Subject: [PATCH] Start listening for messages after connecting

---
 Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift | 1 +
 .../Tests/HomeFeatureTests/HomeFeatureTests.swift           | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
index e28008f3..ca176667 100644
--- a/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
+++ b/Examples/xx-messenger/Sources/HomeFeature/HomeFeature.swift
@@ -149,6 +149,7 @@ public let homeReducer = Reducer<HomeState, HomeAction, HomeEnvironment>
 
           if env.messenger.isConnected() == false {
             try env.messenger.connect()
+            try env.messenger.listenForMessages()
           }
 
           if env.messenger.isLoggedIn() == false {
diff --git a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift
index f3e5bcf8..b125f11d 100644
--- a/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift
+++ b/Examples/xx-messenger/Tests/HomeFeatureTests/HomeFeatureTests.swift
@@ -19,6 +19,7 @@ final class HomeFeatureTests: XCTestCase {
 
     var messengerDidStartWithTimeout: [Int] = []
     var messengerDidConnect = 0
+    var messengerDidListenForMessages = 0
 
     store.environment.bgQueue = .immediate
     store.environment.mainQueue = .immediate
@@ -26,6 +27,7 @@ final class HomeFeatureTests: XCTestCase {
     store.environment.messenger.start.run = { messengerDidStartWithTimeout.append($0) }
     store.environment.messenger.isConnected.run = { false }
     store.environment.messenger.connect.run = { messengerDidConnect += 1 }
+    store.environment.messenger.listenForMessages.run = { messengerDidListenForMessages += 1 }
     store.environment.messenger.isLoggedIn.run = { false }
     store.environment.messenger.isRegistered.run = { false }
 
@@ -33,6 +35,7 @@ final class HomeFeatureTests: XCTestCase {
 
     XCTAssertNoDifference(messengerDidStartWithTimeout, [30_000])
     XCTAssertNoDifference(messengerDidConnect, 1)
+    XCTAssertNoDifference(messengerDidListenForMessages, 1)
 
     store.receive(.authHandler(.start))
     store.receive(.networkMonitor(.stop))
@@ -52,6 +55,7 @@ final class HomeFeatureTests: XCTestCase {
 
     var messengerDidStartWithTimeout: [Int] = []
     var messengerDidConnect = 0
+    var messengerDidListenForMessages = 0
     var messengerDidLogIn = 0
 
     store.environment.bgQueue = .immediate
@@ -60,6 +64,7 @@ final class HomeFeatureTests: XCTestCase {
     store.environment.messenger.start.run = { messengerDidStartWithTimeout.append($0) }
     store.environment.messenger.isConnected.run = { false }
     store.environment.messenger.connect.run = { messengerDidConnect += 1 }
+    store.environment.messenger.listenForMessages.run = { messengerDidListenForMessages += 1 }
     store.environment.messenger.isLoggedIn.run = { false }
     store.environment.messenger.isRegistered.run = { true }
     store.environment.messenger.logIn.run = { messengerDidLogIn += 1 }
@@ -77,6 +82,7 @@ final class HomeFeatureTests: XCTestCase {
 
     XCTAssertNoDifference(messengerDidStartWithTimeout, [30_000])
     XCTAssertNoDifference(messengerDidConnect, 1)
+    XCTAssertNoDifference(messengerDidListenForMessages, 1)
     XCTAssertNoDifference(messengerDidLogIn, 1)
 
     store.receive(.authHandler(.start))
-- 
GitLab