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>
This commit is contained in:
@@ -61,11 +61,28 @@ enum DemoConfig {
|
||||
static let demoTripIndex: Int = 3
|
||||
}
|
||||
|
||||
// MARK: - Demo Mode Launch Argument
|
||||
// MARK: - Launch Arguments
|
||||
|
||||
extension ProcessInfo {
|
||||
/// Check if app was launched in demo mode
|
||||
static var isDemoMode: Bool {
|
||||
ProcessInfo.processInfo.arguments.contains("-DemoMode")
|
||||
}
|
||||
|
||||
/// Check if app was launched for UI testing.
|
||||
/// When true, the app suppresses non-essential popups, disables analytics
|
||||
/// and CloudKit sync, forces Pro mode, and disables animations.
|
||||
static var isUITesting: Bool {
|
||||
ProcessInfo.processInfo.arguments.contains("--ui-testing")
|
||||
}
|
||||
|
||||
/// Check if state should be reset before the test run.
|
||||
static var shouldResetState: Bool {
|
||||
ProcessInfo.processInfo.arguments.contains("--reset-state")
|
||||
}
|
||||
|
||||
/// Check if animations should be disabled.
|
||||
static var shouldDisableAnimations: Bool {
|
||||
ProcessInfo.processInfo.arguments.contains("--disable-animations")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user