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

Update example app

Restore facts from UD
parent ec63121c
No related branches found
No related tags found
2 merge requests!108Remove facts from BackupParams,!102Release 1.0.0
......@@ -132,11 +132,12 @@ public let restoreReducer = Reducer<RestoreState, RestoreAction, RestoreEnvironm
backupData: backupData,
backupPassphrase: backupPassphrase
)
let facts = try env.messenger.ud.tryGet().getFacts()
try env.db().saveContact(Contact(
id: try env.messenger.e2e.tryGet().getContact().getId(),
username: result.restoredParams.username,
email: result.restoredParams.email,
phone: result.restoredParams.phone,
email: facts.get(.email)?.value,
phone: facts.get(.phone)?.value,
createdAt: env.now()
))
return .success(.finished)
......
......@@ -79,17 +79,18 @@ final class RestoreFeatureTests: XCTestCase {
func testRestore() {
let backupData = "backup-data".data(using: .utf8)!
let backupPassphrase = "backup-passphrase"
let restoredFacts = [
Fact(type: .email, value: "restored-email"),
Fact(type: .phone, value: "restored-phone"),
]
let restoreResult = MessengerRestoreBackup.Result(
restoredParams: BackupParams.init(
username: "restored-username",
email: "restored-email",
phone: "restored-phone"
),
restoredParams: BackupParams(username: "restored-username"),
restoredContacts: []
)
let now = Date()
let contactId = "contact-id".data(using: .utf8)!
var udFacts: [Fact] = []
var didRestoreWithData: [Data] = []
var didRestoreWithPassphrase: [String] = []
var didSaveContact: [XXModels.Contact] = []
......@@ -108,6 +109,7 @@ final class RestoreFeatureTests: XCTestCase {
store.environment.messenger.restoreBackup.run = { data, passphrase in
didRestoreWithData.append(data)
didRestoreWithPassphrase.append(passphrase)
udFacts = restoredFacts
return restoreResult
}
store.environment.messenger.e2e.get = {
......@@ -119,6 +121,11 @@ final class RestoreFeatureTests: XCTestCase {
}
return e2e
}
store.environment.messenger.ud.get = {
var ud: UserDiscovery = .unimplemented
ud.getFacts.run = { udFacts }
return ud
}
store.environment.db.run = {
var db: Database = .unimplemented
db.saveContact.run = { contact in
......@@ -141,8 +148,8 @@ final class RestoreFeatureTests: XCTestCase {
XCTAssertNoDifference(didSaveContact, [Contact(
id: contactId,
username: restoreResult.restoredParams.username,
email: restoreResult.restoredParams.email,
phone: restoreResult.restoredParams.phone,
email: restoredFacts.get(.email)?.value,
phone: restoredFacts.get(.phone)?.value,
createdAt: now
)])
......
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