From 0f0e534214d65948ed9a4ae999218ade5110d828 Mon Sep 17 00:00:00 2001 From: Trey t Date: Fri, 20 Feb 2026 00:06:38 -0600 Subject: [PATCH] Add F-018, F-060, F-062 UI tests and update QA test plan Co-Authored-By: Claude Opus 4.6 --- SportsTimeUITests/Tests/HomeTests.swift | 24 ++++++++- SportsTimeUITests/Tests/TripSavingTests.swift | 49 +++++++++++++++++- docs/SportsTime_QA_Test_Plan.xlsx | Bin 34091 -> 34134 bytes 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/SportsTimeUITests/Tests/HomeTests.swift b/SportsTimeUITests/Tests/HomeTests.swift index c04b592..65d5c63 100644 --- a/SportsTimeUITests/Tests/HomeTests.swift +++ b/SportsTimeUITests/Tests/HomeTests.swift @@ -3,7 +3,7 @@ // SportsTimeUITests // // Tests for the Home tab: hero card, start planning, toolbar button, and recent trips. -// QA Sheet: F-012, F-013, F-014, F-017, F-019, F-020 +// QA Sheet: F-012, F-013, F-014, F-017, F-018, F-019, F-020 // import XCTest @@ -121,6 +121,28 @@ final class HomeTests: BaseUITestCase { captureScreenshot(named: "F017-RecentTripsSection") } + /// F-018: Fresh launch with no saved trips — Recent Trips section should not appear. + @MainActor + func testF018_RecentTripsSectionHiddenNoSavedTrips() { + let home = HomeScreen(app: app) + home.waitForLoad() + + // Scroll down to check the full home tab + var scrollAttempts = 0 + while scrollAttempts < 5 { + app.swipeUp(velocity: .slow) + scrollAttempts += 1 + } + + // Recent trips section should NOT exist on a fresh launch + XCTAssertFalse( + home.recentTripsSection.exists, + "Recent trips section should not appear when no trips are saved" + ) + + captureScreenshot(named: "F018-NoRecentTrips") + } + /// F-019: Planning tips section is visible at bottom of home tab. @MainActor func testF019_PlanningTipsSectionVisible() { diff --git a/SportsTimeUITests/Tests/TripSavingTests.swift b/SportsTimeUITests/Tests/TripSavingTests.swift index db42347..5240ac0 100644 --- a/SportsTimeUITests/Tests/TripSavingTests.swift +++ b/SportsTimeUITests/Tests/TripSavingTests.swift @@ -3,7 +3,7 @@ // SportsTimeUITests // // Tests the end-to-end trip saving flow: plan → select → save → verify in My Trips. -// QA Sheet: F-064, F-065, F-077, F-078, F-079, F-080 +// QA Sheet: F-060, F-062, F-064, F-065, F-077, F-078, F-079, F-080 // import XCTest @@ -168,4 +168,51 @@ final class TripSavingTests: BaseUITestCase { captureScreenshot(named: "F061-StatsRow") } + + // MARK: - Trip Detail Loads with Map (F-060) + + /// F-060: Trip detail shows the hero map and itinerary after opening. + @MainActor + func testF060_TripDetailLoadsWithMap() { + let (_, detail) = TestFlows.planAndSelectFirstTrip(app: app) + + // Favorite button sits on the map overlay — its presence proves the map loaded + XCTAssertTrue( + detail.favoriteButton.exists, + "Favorite button (map overlay) should be visible, proving map loaded" + ) + + // Itinerary section should also be visible below the map + detail.assertItineraryVisible() + + captureScreenshot(named: "F060-TripDetailWithMap") + } + + // MARK: - Itinerary Day Cards (F-062) + + /// F-062: Scrolling through the itinerary reveals day cards (Day 1, Day 2, etc.). + @MainActor + func testF062_ItineraryDayCardsVisible() { + let (_, _) = TestFlows.planAndSelectFirstTrip(app: app) + + // Day 1 should exist in the itinerary + let day1 = app.staticTexts["Day 1"] + var scrollAttempts = 0 + while !day1.exists && scrollAttempts < 15 { + app.swipeUp(velocity: .slow) + scrollAttempts += 1 + } + XCTAssertTrue(day1.exists, "Day 1 card should be visible in itinerary") + + // Day 2 should also exist (planned trips have at least 2 days) + let day2 = app.staticTexts["Day 2"] + scrollAttempts = 0 + while !day2.exists && scrollAttempts < 10 { + app.swipeUp(velocity: .slow) + scrollAttempts += 1 + } + XCTAssertTrue(day2.exists, "Day 2 card should be visible in itinerary") + + captureScreenshot(named: "F062-ItineraryDayCards") + } } diff --git a/docs/SportsTime_QA_Test_Plan.xlsx b/docs/SportsTime_QA_Test_Plan.xlsx index 638cc4e748da74401a53d2a951ba69fdde514535..e43e9a1b56edacf49100f105bcedc8bd2ae08a9a 100644 GIT binary patch delta 17584 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