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

Update backup params in messenger example

parent d881c1d3
No related branches found
No related tags found
2 merge requests!136Update backup params handling in XXMessenger,!102Release 1.0.0
......@@ -11,10 +11,6 @@ public struct BackupComponent: ReducerProtocol {
case passphrase
}
public enum Error: String, Swift.Error, Equatable {
case contactUsernameMissing
}
public init(
isRunning: Bool = false,
isStarting: Bool = false,
......@@ -102,14 +98,7 @@ public struct BackupComponent: ReducerProtocol {
state.focusedField = nil
return Effect.run { [state] subscriber in
do {
let contact = try messenger.myContact(includeFacts: .types([.username]))
guard let username = try contact.getFact(.username)?.value else {
throw State.Error.contactUsernameMissing
}
try messenger.startBackup(
password: state.passphrase,
params: BackupParams(username: username)
)
try messenger.startBackup(password: state.passphrase)
subscriber.send(.didStart(failure: nil))
} catch {
subscriber.send(.didStart(failure: error as NSError))
......
......@@ -72,12 +72,6 @@ final class BackupFeatureTests: XCTestCase {
)
store.dependencies.app.mainQueue = .immediate
store.dependencies.app.bgQueue = .immediate
store.dependencies.app.messenger.myContact.run = { includeFacts in
actions.append(.didGetMyContact(includingFacts: includeFacts))
var contact = Contact.unimplemented("contact-data".data(using: .utf8)!)
contact.getFactsFromContact.run = { _ in [Fact(type: .username, value: username)] }
return contact
}
store.dependencies.app.messenger.startBackup.run = { passphrase, params in
actions.append(.didStartBackup(passphrase: passphrase, params: params))
}
......@@ -102,12 +96,9 @@ final class BackupFeatureTests: XCTestCase {
}
XCTAssertNoDifference(actions, [
.didGetMyContact(
includingFacts: .types([.username])
),
.didStartBackup(
passphrase: passphrase,
params: .init(username: username)
params: nil
)
])
......@@ -118,38 +109,6 @@ final class BackupFeatureTests: XCTestCase {
}
}
func testStartBackupWithoutContactUsername() {
var isBackupRunning: [Bool] = [false]
let store = TestStore(
initialState: BackupComponent.State(
passphrase: "1234"
),
reducer: BackupComponent()
)
store.dependencies.app.mainQueue = .immediate
store.dependencies.app.bgQueue = .immediate
store.dependencies.app.messenger.myContact.run = { _ in
var contact = Contact.unimplemented("contact-data".data(using: .utf8)!)
contact.getFactsFromContact.run = { _ in [] }
return contact
}
store.dependencies.app.messenger.isBackupRunning.run = {
isBackupRunning.removeFirst()
}
store.send(.startTapped) {
$0.isStarting = true
}
let failure = BackupComponent.State.Error.contactUsernameMissing
store.receive(.didStart(failure: failure as NSError)) {
$0.isRunning = false
$0.isStarting = false
$0.alert = .error(failure)
}
}
func testStartBackupMyContactFailure() {
struct Failure: Error {}
let failure = Failure()
......@@ -163,7 +122,7 @@ final class BackupFeatureTests: XCTestCase {
)
store.dependencies.app.mainQueue = .immediate
store.dependencies.app.bgQueue = .immediate
store.dependencies.app.messenger.myContact.run = { _ in throw failure }
store.dependencies.app.messenger.startBackup.run = { _, _ in throw failure }
store.dependencies.app.messenger.isBackupRunning.run = {
isBackupRunning.removeFirst()
}
......@@ -192,11 +151,6 @@ final class BackupFeatureTests: XCTestCase {
)
store.dependencies.app.mainQueue = .immediate
store.dependencies.app.bgQueue = .immediate
store.dependencies.app.messenger.myContact.run = { _ in
var contact = Contact.unimplemented("data".data(using: .utf8)!)
contact.getFactsFromContact.run = { _ in [Fact(type: .username, value: "username")] }
return contact
}
store.dependencies.app.messenger.startBackup.run = { _, _ in
throw failure
}
......@@ -397,9 +351,8 @@ final class BackupFeatureTests: XCTestCase {
private enum Action: Equatable {
case didRegisterObserver
case didStartBackup(passphrase: String, params: BackupParams)
case didStartBackup(passphrase: String, params: String?)
case didResumeBackup
case didStopBackup
case didRemoveBackup
case didGetMyContact(includingFacts: MessengerMyContact.IncludeFacts?)
}
......@@ -82,7 +82,7 @@ final class RestoreComponentTests: XCTestCase {
Fact(type: .phone, value: "restored-fact-phone"),
]
let restoreResult = MessengerRestoreBackup.Result(
restoredParams: BackupParams(username: "restored-param-username"),
restoredParams: "",
restoredContacts: [
"contact-1-id".data(using: .utf8)!,
"contact-2-id".data(using: .utf8)!,
......
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