From 61fd7f52095ed72952757a73e1dc341b20ce3e94 Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 20 Feb 2026 00:25:50 -0600 Subject: [PATCH] Add F-041, F-047, F-051 UI tests for wizard and trip options Co-Authored-By: Claude Opus 4.6 --- .../Tests/TripOptionsTests.swift | 19 +++++- .../Tests/TripWizardFlowTests.swift | 60 +++++++++++++++++- docs/SportsTime_QA_Test_Plan.xlsx | Bin 34189 -> 34240 bytes 3 files changed, 77 insertions(+), 2 deletions(-) diff --git a/SportsTimeUITests/Tests/TripOptionsTests.swift b/SportsTimeUITests/Tests/TripOptionsTests.swift index 89cb3ad..567e876 100644 --- a/SportsTimeUITests/Tests/TripOptionsTests.swift +++ b/SportsTimeUITests/Tests/TripOptionsTests.swift @@ -3,7 +3,7 @@ // SportsTimeUITests // // Tests the Trip Options results screen: sorting, selection, navigation. -// QA Sheet: F-052, F-053, F-054, F-055, F-058, F-059 +// QA Sheet: F-051, F-052, F-053, F-054, F-055, F-058, F-059 // import XCTest @@ -20,6 +20,23 @@ final class TripOptionsTests: BaseUITestCase { return options } + // MARK: - Results Display (F-051) + + /// F-051: Trip options listed with city count, game count, distance, and preview. + @MainActor + func testF051_ResultsDisplayAfterPlanning() { + let options = planTripAndGetOptions() + + // At least one trip card should be visible + let firstCard = options.tripCard(0) + XCTAssertTrue(firstCard.exists, "First trip card should be visible") + + // Sort dropdown should be visible (proves results header rendered) + XCTAssertTrue(options.sortDropdown.exists, "Sort dropdown should be visible on results screen") + + captureScreenshot(named: "F051-ResultsDisplay") + } + // MARK: - Sort Options (F-052, F-053, F-054, F-055) /// F-052: Sort by Recommended reorders trip options. diff --git a/SportsTimeUITests/Tests/TripWizardFlowTests.swift b/SportsTimeUITests/Tests/TripWizardFlowTests.swift index 9ff83b2..e819b25 100644 --- a/SportsTimeUITests/Tests/TripWizardFlowTests.swift +++ b/SportsTimeUITests/Tests/TripWizardFlowTests.swift @@ -4,7 +4,7 @@ // // Tests the trip planning wizard: planning modes, calendar navigation, // sport/region selection, and planning engine results. -// QA Sheet: F-018 through F-042 +// QA Sheet: F-018 through F-042, F-047 // import XCTest @@ -315,6 +315,64 @@ final class TripWizardFlowTests: BaseUITestCase { ) } + // MARK: - Plan Button Enabled (F-041) + + /// F-041: Plan My Trip button becomes enabled after filling all required fields. + @MainActor + func testF041_PlanButtonEnabledState() { + let (_, wizard) = openWizard() + wizard.selectDateRangeMode() + + // Fill all required fields + wizard.selectDateRange( + targetMonth: "June", + targetYear: "2026", + startDay: "2026-06-11", + endDay: "2026-06-16" + ) + wizard.selectSport("mlb") + wizard.selectRegion("central") + + // Plan button should now be enabled + let planBtn = wizard.planTripButton + planBtn.scrollIntoView(in: app.scrollViews.firstMatch) + XCTAssertTrue(planBtn.isEnabled, + "Plan My Trip should be enabled after filling all required fields") + + captureScreenshot(named: "F041-PlanButton-Enabled") + } + + // MARK: - Wizard Scroll (F-047) + + /// F-047: All wizard steps are reachable by scrolling. + @MainActor + func testF047_WizardScrollBehavior() { + let (_, wizard) = openWizard() + wizard.selectDateRangeMode() + + // Verify date controls are reachable + let monthLabel = wizard.monthLabel + monthLabel.scrollIntoView(in: app.scrollViews.firstMatch) + XCTAssertTrue(monthLabel.exists, "Month label should be reachable by scrolling") + + // Verify sport buttons are reachable + let mlbButton = wizard.sportButton("mlb") + mlbButton.scrollIntoView(in: app.scrollViews.firstMatch) + XCTAssertTrue(mlbButton.exists, "Sport buttons should be reachable by scrolling") + + // Verify region buttons are reachable + let centralButton = wizard.regionButton("central") + centralButton.scrollIntoView(in: app.scrollViews.firstMatch) + XCTAssertTrue(centralButton.exists, "Region buttons should be reachable by scrolling") + + // Verify Plan My Trip button is reachable at the bottom + let planBtn = wizard.planTripButton + planBtn.scrollIntoView(in: app.scrollViews.firstMatch) + XCTAssertTrue(planBtn.exists, "Plan My Trip button should be reachable by scrolling") + + captureScreenshot(named: "F047-WizardScroll") + } + // MARK: - All 5 Modes Available (F-018 to F-022 combined) /// Verifies all 5 planning mode buttons are present in the wizard. diff --git a/docs/SportsTime_QA_Test_Plan.xlsx b/docs/SportsTime_QA_Test_Plan.xlsx index 315fbbbf57d17cb83ab0d78627f334a018f5cdb8..f00f7bfbe632c3ca1e30370992fa8baf22909435 100644 GIT binary patch delta 17528 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 delta 17435 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