From 432214dd3f68d0ac62d9cf3037e72035cf0cd58f Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Thu, 29 Sep 2022 22:10:02 +0200 Subject: [PATCH] Update example app --- .../Sources/BackupFeature/BackupFeature.swift | 1 + .../BackupFeatureTests.swift | 23 ++++++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Examples/xx-messenger/Sources/BackupFeature/BackupFeature.swift b/Examples/xx-messenger/Sources/BackupFeature/BackupFeature.swift index e1ce8fb2..f672b312 100644 --- a/Examples/xx-messenger/Sources/BackupFeature/BackupFeature.swift +++ b/Examples/xx-messenger/Sources/BackupFeature/BackupFeature.swift @@ -103,6 +103,7 @@ public let backupReducer = Reducer<BackupState, BackupAction, BackupEnvironment> case .task: state.isRunning = env.messenger.isBackupRunning() return Effect.run { subscriber in + subscriber.send(.backupUpdated(env.backupStorage.stored())) let cancellable = env.backupStorage.observe { backup in subscriber.send(.backupUpdated(backup)) } diff --git a/Examples/xx-messenger/Tests/BackupFeatureTests/BackupFeatureTests.swift b/Examples/xx-messenger/Tests/BackupFeatureTests/BackupFeatureTests.swift index ebb1510b..21afbd54 100644 --- a/Examples/xx-messenger/Tests/BackupFeatureTests/BackupFeatureTests.swift +++ b/Examples/xx-messenger/Tests/BackupFeatureTests/BackupFeatureTests.swift @@ -9,6 +9,10 @@ final class BackupFeatureTests: XCTestCase { func testTask() { var isBackupRunning: [Bool] = [false] var observers: [UUID: BackupStorage.Observer] = [:] + let storedBackup = BackupStorage.Backup( + date: .init(timeIntervalSince1970: 1), + data: "stored".data(using: .utf8)! + ) let store = TestStore( initialState: BackupState(), @@ -20,6 +24,9 @@ final class BackupFeatureTests: XCTestCase { store.environment.messenger.isBackupRunning.run = { isBackupRunning.removeFirst() } + store.environment.backupStorage.stored = { + storedBackup + } store.environment.backupStorage.observe = { let id = UUID() observers[id] = $0 @@ -30,14 +37,18 @@ final class BackupFeatureTests: XCTestCase { XCTAssertNoDifference(observers.count, 1) - let backup = BackupStorage.Backup( - date: .init(timeIntervalSince1970: 1), - data: "backup".data(using: .utf8)! + store.receive(.backupUpdated(storedBackup)) { + $0.backup = storedBackup + } + + let observedBackup = BackupStorage.Backup( + date: .init(timeIntervalSince1970: 2), + data: "observed".data(using: .utf8)! ) - observers.values.forEach { $0(backup) } + observers.values.forEach { $0(observedBackup) } - store.receive(.backupUpdated(backup)) { - $0.backup = backup + store.receive(.backupUpdated(observedBackup)) { + $0.backup = observedBackup } observers.values.forEach { $0(nil) } -- GitLab