openvidu/openvidu-dashboard/dashboard-ce/e2e/AGENTS.md

1.3 KiB

End-to-end tests (@openvidu-dashboard/e2e)

  • Playwright on Chromium against the production build served by scripts/serve.mjs, which also strips a /dashboard/ prefix for the base href test. The API is mocked by fixtures/api.ts (page.route()).
  • Suites include axe checks and light and dark baseline screenshots. maxDiffPixelRatio 0.01 lets small UI changes pass; regenerate with --update-snapshots=all when a change is intended.
  • tests-backend/ (playwright.backend.config.ts) runs the session flow against the real backend on a MongoDB seeded from the contract fixtures (scripts/serve-dashboard.mjs, scripts/seed-rooms.mjs); ./dashboard.sh e2e runs it when Docker or DASHBOARD_TEST_MONGO_URI is available and reports it skipped otherwise.
  • The server and the fixtures are exported for the suites of extending applications (@openvidu-dashboard/e2e/serve with E2E_APP_ROOT, @openvidu-dashboard/e2e/fixtures): the routes option of MockApi answers the paths the CE mock does not know, and analytics adds series values and breakdown keys. To run the suite after a build: pnpm --filter @openvidu-dashboard/e2e run e2e [playwright args].
  • Install the browser once: pnpm --filter @openvidu-dashboard/e2e exec playwright install chromium.