Files
Krow-workspace/apps/mobile/apps/client/maestro/README.md
2026-03-06 17:19:12 +05:30

2.6 KiB

Maestro Integration Tests — Client App

Auth flows and E2E happy paths for the KROW Client app.
See docs/research/flutter-testing-tools.md, maestro-test-run-instructions.md, and docs/testing/maestro-e2e-happy-paths.md (#572).

Structure

maestro/
  auth/
    sign_in.yaml
    sign_up.yaml
    sign_out.yaml
    sign_in_invalid_password.yaml
  navigation/
    home.yaml
    orders.yaml
    billing.yaml
    coverage.yaml
    reports.yaml
  orders/
    view_orders.yaml
    completed_no_edit_icon.yaml  # #492
    create_order_entry.yaml
    create_order_rapid.yaml
    rapid_to_one_time_draft_submit_e2e.yaml
    create_order_one_time_e2e.yaml
    edit_active_order_e2e.yaml
    edit_active_order_verify_updated_e2e.yaml
  hubs/
    create_hub_e2e.yaml
    manage_hubs_from_settings.yaml
    edit_hub_e2e.yaml
    delete_hub_e2e.yaml
  billing/
    billing_overview.yaml
    invoice_details_smoke.yaml
    invoice_approval_e2e.yaml
  reports/
    reports_dashboard.yaml
    spend_report_export_smoke.yaml
  home/
    home_dashboard_widgets.yaml
    tab_bar_roundtrip.yaml
  settings/
    settings_page.yaml
    edit_profile.yaml
    edit_profile_save_e2e.yaml
    logout_flow.yaml

Credentials (env, never hardcoded)

Flow Env variables
sign_in TEST_CLIENT_EMAIL, TEST_CLIENT_PASSWORD
sign_up TEST_CLIENT_EMAIL, TEST_CLIENT_PASSWORD, TEST_CLIENT_COMPANY

Sign-in: testclient@gmail.com / testclient!

Run

# Via Makefile (export vars first)
make test-e2e-client              # Auth only
make test-e2e-client-extended     # Auth + nav + orders + settings
make test-e2e-client-happy-path   # Auth + hubs + create order E2E + billing + reports + logout (#572)
make test-e2e-client-smoke        # Deterministic smoke suite
make test-e2e-client-hubs-e2e     # Hubs manage + edit + delete
make test-e2e-client-billing-smoke # Billing overview + invoice details/empty state
make test-e2e-client-reports-smoke # Reports dashboard + export placeholder
make test-e2e-client-settings-e2e  # Settings + edit profile save + logout
make test-e2e-client-orders-smoke  # Orders smoke (RAPID → One-Time draft)
make test-e2e-client-orders-data   # Orders data-dependent (edit active order)

# Direct
maestro test apps/mobile/apps/client/maestro/auth/sign_in.yaml \
  -e TEST_CLIENT_EMAIL=... -e TEST_CLIENT_PASSWORD=...
maestro test apps/mobile/apps/client/maestro/auth/sign_up.yaml \
  -e TEST_CLIENT_EMAIL=... -e TEST_CLIENT_PASSWORD=... -e TEST_CLIENT_COMPANY=...