From dcef4f39c15953cd0e035539d48daf10100b6f7d Mon Sep 17 00:00:00 2001
From: Dariusz Rybicki <dariusz@elixxir.io>
Date: Fri, 30 Sep 2022 16:27:18 +0200
Subject: [PATCH] Load username fact in MyContactFeature

---
 .../Sources/MyContactFeature/MyContactFeature.swift            | 1 +
 .../Tests/MyContactFeatureTests/MyContactFeatureTests.swift    | 3 +++
 2 files changed, 4 insertions(+)

diff --git a/Examples/xx-messenger/Sources/MyContactFeature/MyContactFeature.swift b/Examples/xx-messenger/Sources/MyContactFeature/MyContactFeature.swift
index b25d0212..434a1aca 100644
--- a/Examples/xx-messenger/Sources/MyContactFeature/MyContactFeature.swift
+++ b/Examples/xx-messenger/Sources/MyContactFeature/MyContactFeature.swift
@@ -285,6 +285,7 @@ public let myContactReducer = Reducer<MyContactState, MyContactAction, MyContact
         let contactId = try env.messenger.e2e.tryGet().getContact().getId()
         if var dbContact = try env.db().fetchContacts(.init(id: [contactId])).first {
           let facts = try env.messenger.ud.tryGet().getFacts()
+          dbContact.username = facts.get(.username)?.value
           dbContact.email = facts.get(.email)?.value
           dbContact.phone = facts.get(.phone)?.value
           try env.db().saveContact(dbContact)
diff --git a/Examples/xx-messenger/Tests/MyContactFeatureTests/MyContactFeatureTests.swift b/Examples/xx-messenger/Tests/MyContactFeatureTests/MyContactFeatureTests.swift
index 0e553296..830e9715 100644
--- a/Examples/xx-messenger/Tests/MyContactFeatureTests/MyContactFeatureTests.swift
+++ b/Examples/xx-messenger/Tests/MyContactFeatureTests/MyContactFeatureTests.swift
@@ -645,6 +645,7 @@ final class MyContactFeatureTests: XCTestCase {
   func testLoadFactsFromClient() {
     let contactId = "contact-id".data(using: .utf8)!
     let dbContact = XXModels.Contact(id: contactId)
+    let username = "user234"
     let email = "test@email.com"
     let phone = "123456789"
 
@@ -672,6 +673,7 @@ final class MyContactFeatureTests: XCTestCase {
       var ud: UserDiscovery = .unimplemented
       ud.getFacts.run = {
         [
+          Fact(type: .username, value: username),
           Fact(type: .email, value: email),
           Fact(type: .phone, value: phone),
         ]
@@ -697,6 +699,7 @@ final class MyContactFeatureTests: XCTestCase {
 
     XCTAssertNoDifference(didFetchContacts, [.init(id: [contactId])])
     var expectedSavedContact = dbContact
+    expectedSavedContact.username = username
     expectedSavedContact.email = email
     expectedSavedContact.phone = phone
     XCTAssertNoDifference(didSaveContact, [expectedSavedContact])
-- 
GitLab