diff --git a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift index 0bf0e29b51fa3a2e027b4dcdb6597d80a0b84076..c75faa7b5277de3844545c6185012419a36fb807 100644 --- a/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift +++ b/Examples/xx-messenger/Sources/ContactFeature/ContactFeature.swift @@ -115,6 +115,10 @@ public let contactReducer = Reducer<ContactState, ContactAction, ContactEnvironm state.sendRequest = nil return .none + case .sendRequest(.sendSucceeded): + state.sendRequest = nil + return .none + case .sendRequest(_): return .none } diff --git a/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift b/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift index e629b3f0b81f8d39a0f0633d57383853881762fc..4d637ecfee5cfcedde0cf739487c79a8ab058b19 100644 --- a/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift +++ b/Examples/xx-messenger/Tests/ContactFeatureTests/ContactFeatureTests.swift @@ -146,4 +146,21 @@ final class ContactFeatureTests: XCTestCase { $0.sendRequest = nil } } + + func testSendRequestSucceeded() { + let store = TestStore( + initialState: ContactState( + id: "contact-id".data(using: .utf8)!, + sendRequest: SendRequestState( + contact: .unimplemented("contact-id".data(using: .utf8)!) + ) + ), + reducer: contactReducer, + environment: .unimplemented + ) + + store.send(.sendRequest(.sendSucceeded)) { + $0.sendRequest = nil + } + } }