The website's Playwright E2E suite (website/src/e2e/) now runs in CI, but coverage is happy-path only. Good self-contained issue for anyone comfortable with TypeScript who wants to contribute to the web side.
Missing coverage
- Progress persistence — check criteria on a module, reload the page, assert the checkboxes are still checked (localStorage via Zustand persist)
- Bookmarks — bookmark a command/tool, verify it appears in the homepage bookmarks list, remove it
- Workflow completion — step through a workflow to the end, verify the completion state survives reload
- Quiz retake flow — fail a quiz, retake it, pass, verify the passed badge persists
- Offline mode — the service worker caches pages; a test with
context.setOffline(true) asserting the offline fallback works
Getting started
cd website
pnpm install
pnpm exec playwright install chromium
pnpm test:e2e # runs against a dev server it starts itself
Existing specs in website/src/e2e/ (e.g. quiz.spec.ts, learning-path.spec.ts) show the conventions. One spec per PR is perfectly fine.
The website's Playwright E2E suite (
website/src/e2e/) now runs in CI, but coverage is happy-path only. Good self-contained issue for anyone comfortable with TypeScript who wants to contribute to the web side.Missing coverage
context.setOffline(true)asserting the offline fallback worksGetting started
Existing specs in
website/src/e2e/(e.g.quiz.spec.ts,learning-path.spec.ts) show the conventions. One spec per PR is perfectly fine.