Athena — roomy-mobile/archive/changes/2026-01-05-add-per-screen-maestro-flows/tasks/004-create-auth-flows.md


skill-level: medior status: done

Task: Create Auth Screen Flows

End Goal

5 per-screen Maestro flows for authentication screens with parameterized invocation.

Currently

  • screenshot-auth-flow.yaml captures auth screens sequentially
  • No per-screen invocation capability

Should

  • screens/auth/auth_login.yaml - Login view
  • screens/auth/auth_register.yaml - Register view
  • screens/auth/verify_email.yaml - Email verification view
  • screens/auth/accept_privacy.yaml - Privacy acceptance view
  • screens/auth/create_username.yaml - Username creation view

Constraints

  • [x] Auth flows must NOT use auto-login (they capture pre-authenticated screens)
  • [x] Must use clearState: true to ensure fresh app state
  • [x] Must handle transition between auth modes (login ↔ register)

Acceptance Criteria

  • [x] Each flow captures its specific screen screenshot
  • [x] Flows work standalone: maestro test .maestro/screens/auth/auth_login.yaml
  • [x] All flows tagged with screenshot and auth
  • [x] Screenshot paths parameterized via SCREENSHOT_PATH env var

Implementation Checklist

  • [x] 4.1 Create screens/auth/ directory
  • [x] 4.2 Create auth_login.yaml - Launch app, navigate to login mode, capture screenshot
  • [x] 4.3 Create auth_register.yaml - Launch app, navigate to register mode, capture screenshot
  • [x] 4.4 Create verify_email.yaml - Launch app, register partial user, navigate to verify email, capture screenshot
  • [x] 4.5 Create accept_privacy.yaml - Launch app, register partial user, navigate to privacy acceptance, capture screenshot
  • [x] 4.6 Create create_username.yaml - Launch app, complete registration to username step, capture screenshot
  • [x] 4.7 Validate all flows with YAML syntax validation (maestro test --check-only not available)

Notes

  • Auth flows require partial signup to reach certain screens (verify_email, accept_privacy, create_username)
  • Use test credentials that don't conflict with seed data (e.g., test-screenshot@demo.roomy.app)

Reacties

Nog geen reacties