From 2ac3d6a0a9aa7cfaee23ab1db6233e27dac1bf62 Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Fri, 23 Sep 2022 00:51:43 +0200 Subject: [PATCH] Log auth and message errors --- .../AppFeature/AppEnvironment+Live.swift | 1 + .../Sources/AppFeature/AppFeature.swift | 6 ++++-- .../AppFeatureTests/AppFeatureTests.swift | 18 ++++++++++++++---- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Examples/xx-messenger/Sources/AppFeature/AppEnvironment+Live.swift b/Examples/xx-messenger/Sources/AppFeature/AppEnvironment+Live.swift index 3c75f40a..c79d5b93 100644 --- a/Examples/xx-messenger/Sources/AppFeature/AppEnvironment+Live.swift +++ b/Examples/xx-messenger/Sources/AppFeature/AppEnvironment+Live.swift @@ -90,6 +90,7 @@ extension AppEnvironment { messenger: messenger, db: dbManager.getDB ), + log: .live(), mainQueue: mainQueue, bgQueue: bgQueue, welcome: { diff --git a/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift b/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift index 9424cbf2..caae3368 100644 --- a/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift +++ b/Examples/xx-messenger/Sources/AppFeature/AppFeature.swift @@ -50,6 +50,7 @@ struct AppEnvironment { var messenger: Messenger var authHandler: AuthCallbackHandler var messageListener: MessageListenerHandler + var log: Logger var mainQueue: AnySchedulerOf<DispatchQueue> var bgQueue: AnySchedulerOf<DispatchQueue> var welcome: () -> WelcomeEnvironment @@ -63,6 +64,7 @@ extension AppEnvironment { messenger: .unimplemented, authHandler: .unimplemented, messageListener: .unimplemented, + log: .unimplemented, mainQueue: .unimplemented, bgQueue: .unimplemented, welcome: { .unimplemented }, @@ -87,10 +89,10 @@ let appReducer = Reducer<AppState, AppAction, AppEnvironment> } cancellables.append(env.authHandler(onError: { error in - // TODO: handle error + env.log(.error(error as NSError)) })) cancellables.append(env.messageListener(onError: { error in - // TODO: handle error + env.log(.error(error as NSError)) })) let isLoaded = env.messenger.isLoaded() diff --git a/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift b/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift index 93d71903..5bda4eb3 100644 --- a/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift +++ b/Examples/xx-messenger/Tests/AppFeatureTests/AppFeatureTests.swift @@ -351,6 +351,9 @@ final class AppFeatureTests: XCTestCase { actions.append(.didCancelMessageListener) } } + store.environment.log.run = { msg, _, _, _ in + actions.append(.didLog(msg)) + } store.send(.start) @@ -381,15 +384,21 @@ final class AppFeatureTests: XCTestCase { actions = [] struct AuthError: Error {} - authHandlerOnError.first?(AuthError()) + let authError = AuthError() + authHandlerOnError.first?(authError) - XCTAssertNoDifference(actions, []) + XCTAssertNoDifference(actions, [ + .didLog(.error(authError as NSError)) + ]) actions = [] struct MessageError: Error {} - messageListenerOnError.first?(MessageError()) + let messageError = MessageError() + messageListenerOnError.first?(messageError) - XCTAssertNoDifference(actions, []) + XCTAssertNoDifference(actions, [ + .didLog(.error(messageError as NSError)) + ]) actions = [] store.send(.stop) @@ -408,4 +417,5 @@ private enum Action: Equatable { case didLoadMessenger case didCancelAuthHandler case didCancelMessageListener + case didLog(Logger.Message) } -- GitLab