From 98b9898ba931f002aef449c511e95a6f0a3f9c38 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 31 Aug 2022 15:46:39 +0100 Subject: [PATCH] Add missing tests --- .../AppFeatureTests/AppFeatureTests.swift | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift b/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift index 166b6325..5f055492 100644 --- a/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift +++ b/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift @@ -170,4 +170,50 @@ final class AppFeatureTests: XCTestCase { $0.screen = .failure(failure) } } + + func testStartDatabaseMakeFailure() { + let store = TestStore( + initialState: AppState(), + reducer: appReducer, + environment: .unimplemented + ) + + struct Failure: Error {} + let error = Failure() + + store.environment.mainQueue = .immediate + store.environment.bgQueue = .immediate + store.environment.dbManager.hasDB.run = { false } + store.environment.dbManager.makeDB.run = { throw error } + + store.send(.start) + + store.receive(.set(\.$screen, .failure(error.localizedDescription))) { + $0.screen = .failure(error.localizedDescription) + } + } + + func testStartMessengerLoadFailure() { + let store = TestStore( + initialState: AppState(), + reducer: appReducer, + environment: .unimplemented + ) + + struct Failure: Error {} + let error = Failure() + + store.environment.mainQueue = .immediate + store.environment.bgQueue = .immediate + store.environment.dbManager.hasDB.run = { true } + store.environment.messenger.isLoaded.run = { false } + store.environment.messenger.isCreated.run = { true } + store.environment.messenger.load.run = { throw error } + + store.send(.start) + + store.receive(.set(\.$screen, .failure(error.localizedDescription))) { + $0.screen = .failure(error.localizedDescription) + } + } } -- GitLab