31 lines
1.0 KiB
Markdown
31 lines
1.0 KiB
Markdown
# Tests iOS README
|
|
|
|
## Purpose
|
|
|
|
`Tests iOS/` contains XCTest-based UI tests for the iOS app.
|
|
|
|
## Start Here Before Adding Tests
|
|
|
|
1. Read `/Users/treyt/Desktop/code/Feels/docs/XCUITest-Authoring.md`.
|
|
2. Reuse `BaseUITestCase` and helpers in `Helpers/`.
|
|
3. Reuse screen objects in `Screens/` before writing inline query logic.
|
|
|
|
## Required Pattern
|
|
|
|
- Test class inherits `BaseUITestCase`.
|
|
- Selectors use `UITestID` / accessibility identifiers first.
|
|
- Waiting/tapping uses helper methods (`tapWhenReady`, `waitForDisappearance`, etc).
|
|
- New app interactions get IDs in `/Users/treyt/Desktop/code/Feels/Shared/AccessibilityIdentifiers.swift`.
|
|
|
|
## Anti-Patterns
|
|
|
|
- `sleep(...)`
|
|
- Selector logic based only on localized labels
|
|
- Duplicating navigation logic instead of using `Screens/*`
|
|
|
|
## Useful Paths
|
|
|
|
- `/Users/treyt/Desktop/code/Feels/Tests iOS/Helpers/BaseUITestCase.swift`
|
|
- `/Users/treyt/Desktop/code/Feels/Tests iOS/Helpers/WaitHelpers.swift`
|
|
- `/Users/treyt/Desktop/code/Feels/docs/templates/XCUITestSuiteTemplate.swift`
|