From e137a1607fbad2cf8720fc191cc4f5d9c40290d7 Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Thu, 22 Sep 2022 16:50:19 +0200
Subject: [PATCH] Update restoration example

Listen for messages after restoring backup
---
 .../xx-messenger/Sources/RestoreFeature/RestoreFeature.swift | 1 +
 .../Tests/RestoreFeatureTests/RestoreFeatureTests.swift      | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
index 5339c89b..00dbd841 100644
--- a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
+++ b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
@@ -122,6 +122,7 @@ public let restoreReducer = Reducer<RestoreState, RestoreAction, RestoreEnvironm
           backupData: backupData,
           backupPassphrase: backupPassphrase
         )
+        try env.messenger.listenForMessages()
         return .success(.finished)
       } catch {
         return .success(.failed(error as NSError))
diff --git a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
index 9a3cde32..16dac147 100644
--- a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
+++ b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
@@ -88,6 +88,7 @@ final class RestoreFeatureTests: XCTestCase {
 
     var didRestoreWithData: [Data] = []
     var didRestoreWithPassphrase: [String] = []
+    var didListenForMessages = 0
 
     let store = TestStore(
       initialState: RestoreState(
@@ -104,6 +105,9 @@ final class RestoreFeatureTests: XCTestCase {
       didRestoreWithPassphrase.append(passphrase)
       return restoreResult
     }
+    store.environment.messenger.listenForMessages.run = {
+      didListenForMessages += 1
+    }
 
     store.send(.set(\.$passphrase, backupPassphrase)) {
       $0.passphrase = backupPassphrase
@@ -115,6 +119,7 @@ final class RestoreFeatureTests: XCTestCase {
 
     XCTAssertNoDifference(didRestoreWithData, [backupData])
     XCTAssertNoDifference(didRestoreWithPassphrase, [backupPassphrase])
+    XCTAssertNoDifference(didListenForMessages, 1)
 
     store.receive(.finished) {
       $0.isRestoring = false
-- 
GitLab