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

Fix saving contact when registering

parent adce3dd2
No related branches found
No related tags found
2 merge requests!102Release 1.0.0,!68Messenger example - send auth request
......@@ -135,6 +135,7 @@ let package = Package(
dependencies: [
.target(name: "AppCore"),
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"),
.product(name: "XXClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXModels", package: "client-ios-db"),
],
......
......@@ -2,6 +2,7 @@ import AppCore
import ComposableArchitecture
import Foundation
import XCTestDynamicOverlay
import XXClient
import XXMessengerClient
import XXModels
......@@ -81,7 +82,11 @@ public let registerReducer = Reducer<RegisterState, RegisterAction, RegisterEnvi
do {
let db = try env.db()
try env.messenger.register(username: username)
let contact = env.messenger.e2e()!.getContact()
var contact = try env.messenger.e2e.tryGet().getContact()
var facts: [Fact] = (try? contact.getFacts()) ?? []
facts.removeAll(where: { $0.type == 0 })
facts.append(Fact(fact: username, type: 0))
try contact.setFacts(facts)
try db.saveContact(Contact(
id: try contact.getId(),
marshaled: contact.data,
......
......@@ -16,6 +16,7 @@ final class RegisterFeatureTests: XCTestCase {
let now = Date()
let mainQueue = DispatchQueue.test
let bgQueue = DispatchQueue.test
var didSetFactsOnContact: [[XXClient.Fact]] = []
var dbDidSaveContact: [XXModels.Contact] = []
var messengerDidRegisterUsername: [String] = []
......@@ -30,6 +31,11 @@ final class RegisterFeatureTests: XCTestCase {
e2e.getContact.run = {
var contact = XXClient.Contact.unimplemented("contact-data".data(using: .utf8)!)
contact.getIdFromContact.run = { _ in "contact-id".data(using: .utf8)! }
contact.getFactsFromContact.run = { _ in [] }
contact.setFactsOnContact.run = { data, facts in
didSetFactsOnContact.append(facts)
return data
}
return contact
}
return e2e
......@@ -57,6 +63,7 @@ final class RegisterFeatureTests: XCTestCase {
bgQueue.advance()
XCTAssertNoDifference(messengerDidRegisterUsername, ["NewUser"])
XCTAssertNoDifference(didSetFactsOnContact, [[Fact(fact: "NewUser", type: 0)]])
XCTAssertNoDifference(dbDidSaveContact, [
XXModels.Contact(
id: "contact-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