Files
Sportstime/SportsTimeUITests/Tests/AppLaunchTests.swift
Trey t d53f222489 feat: add XCUITest suite with 10 critical flow tests and QA test plan
Add comprehensive UI test infrastructure with Page Object pattern,
accessibility identifiers, UI test mode (--ui-testing, --reset-state,
--disable-animations), and 10 passing tests covering app launch, tab
navigation, trip wizard, trip saving, settings, schedule, and
accessibility at XXXL Dynamic Type. Also adds a 229-case QA test plan
Excel workbook for manual QA handoff.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:23:59 -06:00

39 lines
1.1 KiB
Swift

//
// AppLaunchTests.swift
// SportsTimeUITests
//
// Verifies app boot, bootstrap, and initial screen rendering.
//
import XCTest
final class AppLaunchTests: BaseUITestCase {
/// Verifies the app boots, shows the home screen, and all 5 tabs are present.
@MainActor
func testAppLaunchShowsHomeWithAllTabs() {
let home = HomeScreen(app: app)
home.waitForLoad()
// Assert: Hero card text visible
XCTAssertTrue(home.adventureAwaitsText.exists,
"Hero card should display 'Adventure Awaits'")
// Assert: All tabs present
home.assertTabBarVisible()
captureScreenshot(named: "HomeScreen-Launch")
}
/// Verifies the bootstrap loading indicator disappears and content renders.
@MainActor
func testBootstrapCompletesWithContent() {
let home = HomeScreen(app: app)
home.waitForLoad()
// Assert: Start Planning button is interactable (proves bootstrap loaded data)
XCTAssertTrue(home.startPlanningButton.isHittable,
"Start Planning should be hittable after bootstrap")
}
}