From a5f285a7bcff8f2b706181a66b97e8fd0327f405 Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Mon, 6 Mar 2023 20:44:47 -0800 Subject: [PATCH] wip --- .../Integration/PresentationTestCase.swift | 1 - .../IntegrationUITests/PresentationTests.swift | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Examples/Integration/Integration/PresentationTestCase.swift b/Examples/Integration/Integration/PresentationTestCase.swift index 2f4ca014865b..8e3e58ca740f 100644 --- a/Examples/Integration/Integration/PresentationTestCase.swift +++ b/Examples/Integration/Integration/PresentationTestCase.swift @@ -97,7 +97,6 @@ private struct PresentationTestCase: ReducerProtocol { ) return .none case .destination(.presented(.fullScreenCover(.parentSendDismissActionButtonTapped))), - .destination(.presented(.navigationDestination(.parentSendDismissActionButtonTapped))), .destination(.presented(.sheet(.parentSendDismissActionButtonTapped))), .destination(.presented(.popover(.parentSendDismissActionButtonTapped))): return .send(.destination(.dismiss)) diff --git a/Examples/Integration/IntegrationUITests/PresentationTests.swift b/Examples/Integration/IntegrationUITests/PresentationTests.swift index 99e422eb4594..968be515cc51 100644 --- a/Examples/Integration/IntegrationUITests/PresentationTests.swift +++ b/Examples/Integration/IntegrationUITests/PresentationTests.swift @@ -273,4 +273,20 @@ final class PresentationTests: XCTestCase { self.app.buttons["Parent dismiss"].tap() XCTAssertEqual(false, self.app.staticTexts["Count: 0"].exists) } + + func testNavigationDestination_EffectsCancelOnDismiss() async throws { + self.app.buttons["Open navigation destination"].tap() + XCTAssertEqual(true, self.app.staticTexts["Count: 0"].exists) + + self.app.buttons["Start effect"].tap() + XCTAssertEqual(true, self.app.staticTexts["Count: 1"].exists) + + self.app.buttons["Parent dismiss"].tap() + XCTAssertEqual(false, self.app.staticTexts["Count: 1"].exists) + + self.app.buttons["Open navigation destination"].tap() + XCTAssertEqual(true, self.app.staticTexts["Count: 0"].exists) + try await Task.sleep(for: .seconds(3)) + XCTAssertEqual(false, self.app.staticTexts["Count: 999"].exists) + } }