Testing

evergreenLast update on Sep 1, 2026
Download .md

Testing

Project Test Strategy

LayerRequired tests
ContractsOpenAPI linting, breaking-change detection, generated-client freshness
Backendunit, repository, service, REST, authorization, migration
Weblint, typecheck, component, integration, Playwright E2E
Mobileanalysis, unit, widget, mocked-client, integration
Cross-platformfull vertical-slice E2E

Current POC

cd reference/mobile_app_demo
flutter analyze

The current checkout has no test/ directory. Before promoting the POC, add coverage for:

  • event queue insert/query/mark synced;
  • queue migrations;
  • sync retry and duplicate handling;
  • OCR parser fallbacks;
  • tag replacement invariants;
  • receiving and commit flow widgets.

Backend Test Targets

./gradlew test
./gradlew integrationTest

Use Testcontainers for PostgreSQL integration tests.

Web Test Targets

npm run lint
npm run typecheck
npm run test
npm run e2e
npm run build

Mobile Test Targets

flutter analyze
flutter test
flutter test integration_test
flutter build apk

CI Gate

A pull request should pass:

  • contract checks;
  • backend tests;
  • web lint/typecheck/tests/build;
  • mobile analysis/tests/build;
  • secret and dependency scanning;
  • migration validation.