Files
Reactive-Resume/tests/e2e
Amruth Pillai ea97de5ec4 fix(editor): preserve literal rich-text whitespace (#3472)
* fix(web): preserve imported rich-text tables

* fix(web): harden imported table preservation

* fix(web): fail closed on lossy table markup

* chore: remove plan 16 evidence reports

* fix(web): close imported table preservation gaps

* fix(editor): preserve literal rich-text whitespace

* chore: remove plan 19 evidence report

* fix: preserve literal whitespace through layout and editor transforms

* fix: preserve whitespace in bare table cells

* chore: keep orchestration evidence untracked
2026-09-05 19:57:50 -07:00
..

E2E Tests

Reactive Resume uses Playwright for PR-gated browser coverage of deterministic core flows.

Local setup

Start PostgreSQL:

sudo docker compose -f compose.dev.yml up -d postgres

Generate local test secrets:

export AUTH_SECRET=$(openssl rand -hex 32)

export ENCRYPTION_SECRET=$(openssl rand -hex 32)

Run database migrations:

APP_URL=http://localhost:3000 PORT=3000 DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres FLAG_DISABLE_SIGNUPS=false FLAG_DISABLE_EMAIL_AUTH=false FLAG_DISABLE_API_RATE_LIMIT=true LOCAL_STORAGE_PATH=/workspace/data/e2e pnpm db:migrate

Build the production app:

APP_URL=http://localhost:3000 PORT=3000 DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres FLAG_DISABLE_SIGNUPS=false FLAG_DISABLE_EMAIL_AUTH=false FLAG_DISABLE_API_RATE_LIMIT=true LOCAL_STORAGE_PATH=/workspace/data/e2e pnpm build

Run tests:

APP_URL=http://localhost:3000 PORT=3000 DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres FLAG_DISABLE_SIGNUPS=false FLAG_DISABLE_EMAIL_AUTH=false FLAG_DISABLE_API_RATE_LIMIT=true LOCAL_STORAGE_PATH=/workspace/data/e2e pnpm test:e2e

Semantic CSS

Run the six Semantic CSS scenarios: default mode, legacy conversion, source-only autosave preservation, portable selector rendering, break-inside pagination, and all-template visual regression:

pnpm exec playwright test tests/e2e/specs/semantic-css

Linux/Chromium visual baselines are updated intentionally with:

pnpm exec playwright test tests/e2e/specs/semantic-css/template-visual.spec.ts \
	--project=chromium --update-snapshots

Coverage

  • Email/password auth smoke.
  • Dashboard sample resume creation.
  • Builder basics edit and autosave persistence.
  • JSON export/import.
  • Public sharing for anonymous visitors.
  • Semantic CSS default mode, legacy conversion, source-only autosave preservation, portable selector rendering, break-inside pagination, and all-template visual regression.

PDF, DOCX, OAuth, passkeys, 2FA, password reset, and AI flows are intentionally outside the initial PR gate.