2.6 KiB
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=...