# 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`
