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