Skip to content

[P6.8.5] Rewrite Playwright browser E2E suite against current Phase-3+ UI #684

@frankbria

Description

@frankbria

Context

Follow-up from #647 (P6.5.2), which formally deferred the two disabled Playwright browser-level E2E jobs (e2e-smoke-tests, e2e-frontend-tests) rather than re-enabling them.

Why they were deferred, not re-enabled: the entire tests/e2e/*.spec.ts suite targets a /projects/[id] route architecture that no longer exists. Evidence (as of 2026-06-15):

  • 19 of 19 spec files reference /projects; specs page.goto('${FRONTEND_URL}/projects/${PROJECT_ID}') 36+ times, plus /signup, /projects/1.
  • Current UI is workspace-based: blockers, costs, execution, login, prd, proof, review, sessions, settings, tasks — no /projects, /dashboard, /metrics, /signup, /git-visualization, /checkpoint pages.
  • tests/e2e/E2E_TEST_AUDIT.md (dated 2026-01-09) describes login redirecting to /projects — stale.

Against the current UI these tests fail immediately (404 → login redirect), so re-enabling as-is would only create a perpetually-red job. The suite needs a rewrite, not a fix.

Scope

Rewrite the browser E2E suite to match the current Phase-3+ UI and auth model:

  • New auth flow: /login (JWT in localStorage) per Enforce authentication across the v2 API (routers, WS/SSE, and web-UI login) #336; SSE/WS ?token= query auth.
  • New page structure: /, /prd, /tasks, /execution, /execution/[taskId], /blockers, /proof, /proof/[req_id], /review, /sessions, /sessions/[id], /settings, /costs.
  • Replace /projects/[id]-based navigation and /signup flows.
  • Re-wire the CI jobs (smoke on PR, full on schedule) and into test-summary once green.
  • Re-enable the nightly schedule: cron in .github/workflows/test.yml when the suite is stable.

Acceptance criteria

  • Playwright smoke suite passes against the current UI and runs on PRs.
  • Full browser suite runs on a schedule (nightly) and passes.
  • Jobs wired into test-summary; nightly schedule: cron re-enabled.
  • tests/e2e/E2E_TEST_AUDIT.md refreshed (or removed) to match the new suite.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-medium-betaMedium priority - nice to have for betaci-cdphase-6.8Phase 6.8: Test coverage hardeningtesting

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions