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


skill-level: medior status: done

Task: Create Utility Flows

End Goal

Reusable utility flows for login, tab navigation, and screenshot mode setup available for use by screen flows.

Currently

  • No utility flows exist
  • Login logic duplicated across flows
  • Tab navigation hardcoded in each flow

Should

  • utils/login.yaml - Conditional auto-login when home screen not visible
  • utils/navigate_to_tab.yaml - Parameterized tab navigation accepting TAB_ID
  • utils/screenshot_setup.yaml - Common screenshot mode initialization

Constraints

  • [x] Utility flows must not be tagged with screenshot (only with utility)
  • [x] Must work with --dart-define=screenshots=true auto-login mode
  • [x] Must use semantic identifiers exclusively (no coordinates)

Acceptance Criteria

  • [x] login.yaml conditionally logs in only when home_screen not visible
  • [x] navigate_to_tab.yaml accepts TAB_ID parameter and taps correct tab
  • [x] All utility flows validate with maestro test --check-only
  • [x] Utility flows excluded when running --includeTags screenshot

Implementation Checklist

  • [x] 2.1 Create utils/login.yaml with conditional runFlow checking home_screen visibility
  • [x] 2.2 Create utils/navigate_to_tab.yaml accepting TAB_ID parameter (household_tab, cleaning_tab, shopping_tab, payments_tab)
  • [x] 2.3 Create utils/screenshot_setup.yaml for common initialization (stopApp, launchApp with clearState)
  • [x] 2.4 Tag all utility flows with utility tag only
  • [x] 2.5 Verify each utility flow with maestro test --check-only

Notes

  • Tab semantic identifiers: household_tab, cleaning_tab, shopping_tab, payments_tab
  • Auto-login credentials from seed data: emma@demo.roomy.app / Demo123!

Reacties

Nog geen reacties