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( ...@@ -135,6 +135,7 @@ let package = Package(
dependencies: [ dependencies: [
.target(name: "AppCore"), .target(name: "AppCore"),
.product(name: "ComposableArchitecture", package: "swift-composable-architecture"), .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: "XXMessengerClient", package: "elixxir-dapps-sdk-swift"),
.product(name: "XXModels", package: "client-ios-db"), .product(name: "XXModels", package: "client-ios-db"),
], ],
......
...@@ -2,6 +2,7 @@ import AppCore ...@@ -2,6 +2,7 @@ import AppCore
import ComposableArchitecture import ComposableArchitecture
import Foundation import Foundation
import XCTestDynamicOverlay import XCTestDynamicOverlay
import XXClient
import XXMessengerClient import XXMessengerClient
import XXModels import XXModels
...@@ -81,7 +82,11 @@ public let registerReducer = Reducer<RegisterState, RegisterAction, RegisterEnvi ...@@ -81,7 +82,11 @@ public let registerReducer = Reducer<RegisterState, RegisterAction, RegisterEnvi
do { do {
let db = try env.db() let db = try env.db()
try env.messenger.register(username: username) 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( try db.saveContact(Contact(
id: try contact.getId(), id: try contact.getId(),
marshaled: contact.data, marshaled: contact.data,
......
...@@ -16,6 +16,7 @@ final class RegisterFeatureTests: XCTestCase { ...@@ -16,6 +16,7 @@ final class RegisterFeatureTests: XCTestCase {
let now = Date() let now = Date()
let mainQueue = DispatchQueue.test let mainQueue = DispatchQueue.test
let bgQueue = DispatchQueue.test let bgQueue = DispatchQueue.test
var didSetFactsOnContact: [[XXClient.Fact]] = []
var dbDidSaveContact: [XXModels.Contact] = [] var dbDidSaveContact: [XXModels.Contact] = []
var messengerDidRegisterUsername: [String] = [] var messengerDidRegisterUsername: [String] = []
...@@ -30,6 +31,11 @@ final class RegisterFeatureTests: XCTestCase { ...@@ -30,6 +31,11 @@ final class RegisterFeatureTests: XCTestCase {
e2e.getContact.run = { e2e.getContact.run = {
var contact = XXClient.Contact.unimplemented("contact-data".data(using: .utf8)!) var contact = XXClient.Contact.unimplemented("contact-data".data(using: .utf8)!)
contact.getIdFromContact.run = { _ in "contact-id".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 contact
} }
return e2e return e2e
...@@ -57,6 +63,7 @@ final class RegisterFeatureTests: XCTestCase { ...@@ -57,6 +63,7 @@ final class RegisterFeatureTests: XCTestCase {
bgQueue.advance() bgQueue.advance()
XCTAssertNoDifference(messengerDidRegisterUsername, ["NewUser"]) XCTAssertNoDifference(messengerDidRegisterUsername, ["NewUser"])
XCTAssertNoDifference(didSetFactsOnContact, [[Fact(fact: "NewUser", type: 0)]])
XCTAssertNoDifference(dbDidSaveContact, [ XCTAssertNoDifference(dbDidSaveContact, [
XXModels.Contact( XXModels.Contact(
id: "contact-id".data(using: .utf8)!, 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