Add comprehensive iOS unit and UI test suites for greenfield test plan

- Create unit tests: DataLayerTests (27 tests for DATA-001–007), DataManagerExtendedTests
  (20 tests for TASK-005, TASK-012, TCOMP-003, THEME-001, QA-002), plus ValidationHelpers,
  TaskMetrics, StringExtensions, DoubleExtensions, DateUtils, DocumentHelpers, ErrorMessageParser
- Create UI tests: AuthenticationTests, PasswordResetTests, OnboardingTests, TaskIntegration,
  ContractorIntegration, ResidenceIntegration, DocumentIntegration, DataLayer, Stability
- Add UI test framework: AuthenticatedTestCase, ScreenObjects, TestFlows, TestAccountManager,
  TestAccountAPIClient, TestDataCleaner, TestDataSeeder
- Add accessibility identifiers to password reset views for UI test support
- Add greenfield test plan CSVs and update automated column for 27 test IDs
- All 297 unit tests pass across 60 suites

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
treyt
2026-02-24 15:37:56 -06:00
parent fe28034f3d
commit fc0e0688eb
34 changed files with 6699 additions and 1 deletions
@@ -232,6 +232,20 @@ struct AccessibilityIdentifiers {
static let progressIndicator = "Onboarding.ProgressIndicator"
}
// MARK: - Password Reset
struct PasswordReset {
static let emailField = "PasswordReset.EmailField"
static let sendCodeButton = "PasswordReset.SendCodeButton"
static let backToLoginButton = "PasswordReset.BackToLoginButton"
static let codeField = "PasswordReset.CodeField"
static let verifyCodeButton = "PasswordReset.VerifyCodeButton"
static let resendCodeButton = "PasswordReset.ResendCodeButton"
static let newPasswordField = "PasswordReset.NewPasswordField"
static let confirmPasswordField = "PasswordReset.ConfirmPasswordField"
static let resetButton = "PasswordReset.ResetButton"
static let returnToLoginButton = "PasswordReset.ReturnToLoginButton"
}
// MARK: - Profile
struct Profile {
static let logoutButton = "Profile.LogoutButton"