Files
Reactive-Resume/tests/e2e
Amruth Pillai a3585a24e0 feat(applications): export filtered applications as CSV (#3426)
* feat(applications): export applications as CSV

* fix(applications): strip export CSV formula guard on import and resort catalogs

Re-importing an exported CSV kept the apostrophe that csvCell prepends to
formula-triggering cells, so a note starting with "- " came back as "'- ".
mapCsvToApplications now drops a leading apostrophe when the remainder would
have been guarded, sharing the predicate with csvCell so both sides stay in
sync.

Also runs pnpm lingui:extract: the new msgids were hand-appended to en-US.po
and missing from the other 54 catalogs.

* fix(applications): preserve CSV import values
2026-09-05 08:46:52 -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.