diff --git a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift index 16c6a9a6cba3d1bf335070d44aab052af1b2b913..1113b48982e57b5a618824f6edf1976bee47164b 100644 --- a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift +++ b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift @@ -182,6 +182,10 @@ public let contactReducer = Reducer<ContactState, ContactAction, ContactEnvironm state.lookup = nil return .none + case .lookup(.didLookup(let xxContact)): + state.xxContact = xxContact + return .none + case .sendRequestTapped: if let xxContact = state.xxContact { state.sendRequest = SendRequestState(contact: xxContact) diff --git a/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift b/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift index a8f9f144eb3e2ff6efa99ca844039b7b9d74f619..b16d788450c63c1195ded4de7b4d6602c9785b6d 100644 --- a/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift +++ b/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift @@ -131,6 +131,23 @@ final class ContactFeatureTests: XCTestCase { } } + func testLookupDidLookup() { + let contactId = "contact-id".data(using: .utf8)! + let contact = Contact.unimplemented("contact-data".data(using: .utf8)!) + let store = TestStore( + initialState: ContactState( + id: contactId, + lookup: ContactLookupState(id: contactId) + ), + reducer: contactReducer, + environment: .unimplemented + ) + + store.send(.lookup(.didLookup(contact))) { + $0.xxContact = contact + } + } + func testSendRequestWithDBContact() { var dbContact = XXModels.Contact(id: "contact-id".data(using: .utf8)!) dbContact.marshaled = "contact-data".data(using: .utf8)!