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

Destroy messenger when backup restoration fails

parent b215df5e
No related branches found
No related tags found
2 merge requests!105Backup restoration fixes,!102Release 1.0.0
......@@ -141,6 +141,7 @@ public let restoreReducer = Reducer<RestoreState, RestoreAction, RestoreEnvironm
))
return .success(.finished)
} catch {
try? env.messenger.destroy()
return .success(.failed(error as NSError))
}
}
......
......@@ -167,6 +167,8 @@ final class RestoreFeatureTests: XCTestCase {
struct Failure: Error {}
let failure = Failure()
var didDestroyMessenger = 0
let store = TestStore(
initialState: RestoreState(
file: .init(name: "name", data: "data".data(using: .utf8)!)
......@@ -178,11 +180,14 @@ final class RestoreFeatureTests: XCTestCase {
store.environment.bgQueue = .immediate
store.environment.mainQueue = .immediate
store.environment.messenger.restoreBackup.run = { _, _ in throw failure }
store.environment.messenger.destroy.run = { didDestroyMessenger += 1 }
store.send(.restoreTapped) {
$0.isRestoring = true
}
XCTAssertEqual(didDestroyMessenger, 1)
store.receive(.failed(failure as NSError)) {
$0.isRestoring = false
$0.restoreFailure = failure.localizedDescription
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment