// // TripOptionsTests.swift // SportsTimeUITests // // Tests the Trip Options results screen: sorting, selection. // QA Sheet: F-052, F-053, F-054, F-055 // import XCTest final class TripOptionsTests: BaseUITestCase { // MARK: - Helpers /// Plans a trip and returns the options screen ready for sorting tests. @MainActor private func planTripAndGetOptions() -> TripOptionsScreen { let (_, options) = TestFlows.planDateRangeTrip(app: app) options.assertHasResults() return options } // MARK: - Sort Options (F-052, F-053, F-054, F-055) /// F-052: Sort by Recommended reorders trip options. @MainActor func testF052_SortByRecommended() { let options = planTripAndGetOptions() // Sort option IDs are rawValue.lowercased() with spaces removed options.sort(by: "recommended") // Results should still exist after sorting options.assertHasResults() captureScreenshot(named: "F052-SortByRecommended") } /// F-053: Sort by Most Games reorders trip options. @MainActor func testF053_SortByMostGames() { let options = planTripAndGetOptions() options.sort(by: "mostgames") options.assertHasResults() captureScreenshot(named: "F053-SortByMostGames") } /// F-054: Sort by Least Miles reorders trip options. @MainActor func testF054_SortByLeastMiles() { let options = planTripAndGetOptions() options.sort(by: "leastmiles") options.assertHasResults() captureScreenshot(named: "F054-SortByLeastMiles") } /// F-055: Sort by Best Efficiency reorders trip options. @MainActor func testF055_SortByBestEfficiency() { let options = planTripAndGetOptions() options.sort(by: "bestefficiency") options.assertHasResults() captureScreenshot(named: "F055-SortByBestEfficiency") } }