This document covers the testing approach and methodologies used in the DEMOCRACY client application.
End-to-end tests are implemented using Maestro, a mobile UI testing framework.
Install Maestro:
curl -Ls "https://get.maestro.mobile.dev" | bash
Make sure you have either:
Run all tests:
pnpm test:e2e
Run specific test flows:
pnpm test:e2e:smoke # Run smoke tests
pnpm test:e2e:verification # Run verification flow tests
pnpm test:e2e:rating # Run rating flow tests
smoke.yaml: Basic app launch and navigation testsverification.yaml: Tests the phone verification flowrating.yaml: Opens the drawer and exercises the in-app rating entry pointTests are located in the .maestro/flows/ directory and are organized by feature or flow. Each test file is a YAML configuration defining the test steps and assertions.
When writing new tests:
.yaml file in the .maestro/flows/ directorypackage.json to run your specific testE2E tests are integrated into the GitHub Actions workflow to ensure automated testing on each pull request and deploy.