TC-125: feels://subscribe deep link opens subscription view TC-126: Malformed deep link (feels://invalidpath) does not crash TC-078: Trial expired state shows "Trial expired" banner in Settings Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests iOS README
Purpose
Tests iOS/ contains XCTest-based UI tests for the iOS app.
Start Here Before Adding Tests
- Read
/Users/treyt/Desktop/code/Feels/docs/XCUITest-Authoring.md. - Reuse
BaseUITestCaseand helpers inHelpers/. - 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