28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# SportsTime Agent Notes
|
|
|
|
This file is for AI/code agents working in this repo.
|
|
|
|
## UI Test Docs
|
|
|
|
- Start with `XCUITest-Authoring.md`.
|
|
- Use `XCUITestSuiteTemplate.swift` when creating new suites.
|
|
- Use `uiTestPrompt.md` when asking an agent to add/fix UI tests.
|
|
|
|
## UI Test Ground Rules
|
|
|
|
- Keep new UI tests in `SportsTimeUITests/Tests/`.
|
|
- Reuse page objects in `SportsTimeUITests/Framework/Screens.swift`.
|
|
- Reuse shared setup and helpers from `SportsTimeUITests/Framework/BaseUITestCase.swift`.
|
|
- Reuse high-level flows from `TestFlows` before adding duplicate test steps.
|
|
- Prefer robust waits (`waitForExistenceOrFail`, `waitUntilHittable`) over sleeps.
|
|
- Use existing accessibility identifiers (`wizard.*`, `tripOptions.*`, `tripDetail.*`, etc.).
|
|
- Capture screenshots for key checkpoints in longer end-to-end tests.
|
|
|
|
## Before Merging UI Test Changes
|
|
|
|
- Run the touched test class.
|
|
- Run full UI suite:
|
|
- `xcodebuild test-without-building -project SportsTime.xcodeproj -scheme SportsTime -destination 'platform=iOS Simulator,name=iPhone 17,OS=latest' -parallel-testing-enabled NO -only-testing:SportsTimeUITests`
|
|
- Run full scheme verification if behavior touched shared flows:
|
|
- `xcodebuild test-without-building -project SportsTime.xcodeproj -scheme SportsTime -destination 'platform=iOS Simulator,name=iPhone 17,OS=latest' -parallel-testing-enabled NO`
|