- Added month_grid accessibility ID to MonthView ScrollView - Added year_heatmap accessibility ID to YearView ScrollView - Fixed DayScreen.assertVisible() to accept entry rows OR mood header - Fixed DataPersistenceTests for in-memory storage (fixture re-seeds) - Fixed AppLaunchTests to use week_of_moods fixture (empty has no grid) - Fixed SettingsScreen segmented control tap with multi-strategy fallback - Improved settings scroll with coordinate-based swipe for deep elements - OnboardingScreen swipeToNext uses slow velocity for paged TabView Co-Authored-By: Claude Opus 4.6 (1M context) <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