From 6894899b4a49c5a03b60edbdf3b0c1f5113e0f0b Mon Sep 17 00:00:00 2001 From: Dariusz Rybicki <dariusz@elixxir.io> Date: Wed, 28 Sep 2022 20:01:55 +0200 Subject: [PATCH] Update example app Restore facts from UD --- .../RestoreFeature/RestoreFeature.swift | 5 +++-- .../RestoreFeatureTests.swift | 21 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift index d1872840..66d7df2f 100644 --- a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift +++ b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift @@ -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) diff --git a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift index 4e55f78b..9b0a7b87 100644 --- a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift +++ b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift @@ -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 )]) -- GitLab