# 17. UI Test Suite Expansion meta: id: ios-production-17 feature: ios-production priority: P1 depends_on: [] tags: [testing, ui-tests, quality] objective: - Expand UI test coverage to include all critical user journeys across the iOS app deliverables: - UI tests for auth flows - UI tests for dashboard and services - UI tests for settings - Accessibility testing integration steps: 1. Audit existing UI tests: - Review iOS/KordantUITests/KordantUITests.swift - Identify gaps in coverage - Plan test scenarios 2. Create auth flow tests: - Launch app → onboarding screen visible - Sign up with valid credentials → dashboard - Login with valid credentials → dashboard - Login with invalid credentials → error shown - Forgot password flow → confirmation shown - Biometric prompt → enable/skip options 3. Create dashboard tests: - Dashboard loads with widgets - Pull to refresh updates data - Tap alert → detail view opens - Threat score updates correctly 4. Create service tests: - Navigate to DarkWatch → watchlist loads - Add watchlist item → appears in list - Navigate to VoicePrint → enrollment screen - Navigate to SpamShield → rules list - Navigate to HomeTitle → property list - Navigate to RemoveBrokers → listings shown 5. Create settings tests: - Open settings → all options visible - Toggle notifications → preference updated - Update profile → changes saved - Logout → returns to login screen 6. Add accessibility tests: - Verify VoiceOver labels on all elements - Test dynamic type support - Test color contrast 7. Configure test data: - Mock API responses for consistent tests - Reset app state between tests - Use test account credentials 8. Add CI integration: - Run UI tests on pull requests - Test on multiple simulators (iPhone SE, 14, 15 Pro Max) - Upload test results and screenshots tests: - UI: All critical paths covered - Accessibility: VoiceOver tests passing - CI: Tests run automatically on PR acceptance_criteria: - 20+ UI test cases covering critical flows - Auth flow fully tested (signup, login, forgot password) - All 5 services have UI tests - Settings and profile tested - Tests run on iPhone SE, 14, and 15 Pro Max simulators - Tests complete in <5 minutes - Screenshots captured on failure - Accessibility labels verified - Mock API used for consistent test data - CI runs UI tests on every PR validation: - Run UI tests → all pass - Introduce UI bug → test fails - Check test report → screenshots for all tests - CI pipeline → UI tests green notes: - Use XCTest framework for UI tests - Mock network layer for consistent, fast tests - Tests should be independent (no shared state) - Consider using Accessibility IDs for reliable element finding