Skip to content
Snippets Groups Projects
Commit 432214dd authored by Dariusz Rybicki's avatar Dariusz Rybicki
Browse files

Update example app

parent 7b722418
No related branches found
No related tags found
2 merge requests!111XXMessengerClient.BackupStorage improvements,!102Release 1.0.0
......@@ -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))
}
......
......@@ -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) }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment