Copy .env.test.example to .env.test and provide the Supabase values used for live contract and Playwright runs.
Required variables:
VITE_SUPABASE_URLVITE_SUPABASE_PUBLISHABLE_KEYSUPABASE_SERVICE_ROLE_KEYTEST_ADMIN_EMAILTEST_ADMIN_PASSWORD
Deterministic unit and integration tests can run with placeholder Supabase values because the network layer is mocked. Live contract and Playwright runs require real values.
npm run lintnpm run typechecknpm run testnpm run test:coveragenpm run test:contractsnpm run test:e2enpm run test:all
- Keyboard-only pass across public navigation plus admin login, case edit, and builds flows.
- Mobile pass on home, case detail, and watchlist using the
mobile-chromiumPlaywright project. - Cross-browser public smoke on the
webkitPlaywright project.