87 lines
2.2 KiB
Markdown
87 lines
2.2 KiB
Markdown
# Playwright E2E
|
|
|
|
ResolutionFlow's Playwright suite is still intentionally lean, but it now covers the main routes and workflows most likely to break demos, onboarding, or day-one product usage.
|
|
|
|
## What it covers
|
|
|
|
- Public landing page
|
|
- Redirect behavior for protected routes
|
|
- UI login flow
|
|
- Authenticated dashboard shell
|
|
- Session history page
|
|
- Session history filtering
|
|
- Feedback page
|
|
- Account settings page
|
|
- Profile save flow
|
|
- Flow library search
|
|
- Start session directly from library search results
|
|
- Resume incomplete session
|
|
- Start and complete a troubleshooting session
|
|
- Export preview for a completed session
|
|
- Personal analytics page
|
|
- Team analytics page
|
|
- Shared sessions exports page
|
|
- Public shared session page
|
|
|
|
## How auth works
|
|
|
|
- `auth.setup.ts` logs in through the backend API using the seeded team admin user
|
|
- it writes a Playwright storage state file to `e2e/.auth/team-admin.json`
|
|
- most authenticated specs reuse that state
|
|
- `auth.spec.ts`, `public.spec.ts`, and `shared-session.spec.ts` explicitly clear storage so those tests stay truly unauthenticated
|
|
|
|
## Local prerequisites
|
|
|
|
1. PostgreSQL must be running
|
|
2. `backend/venv` should exist with backend dependencies installed
|
|
3. frontend dependencies must be installed
|
|
4. Playwright Chromium must be installed once
|
|
|
|
## First-time setup
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npx playwright install chromium
|
|
```
|
|
|
|
## Run the suite
|
|
|
|
```bash
|
|
cd frontend
|
|
npm run test:e2e
|
|
```
|
|
|
|
Useful variants:
|
|
|
|
```bash
|
|
npm run test:e2e -- --list
|
|
npm run test:e2e:headed
|
|
npm run test:e2e:ui
|
|
npm run test:e2e:debug
|
|
```
|
|
|
|
## Backend boot behavior
|
|
|
|
The Playwright config starts the backend automatically. It will:
|
|
|
|
1. run Alembic migrations
|
|
2. seed test users
|
|
3. launch Uvicorn on `127.0.0.1:8000`
|
|
|
|
Then it builds and serves the frontend via `vite preview` on `127.0.0.1:4173`.
|
|
|
|
## Default test credentials
|
|
|
|
- Email: `teamadmin@resolutionflow.example.com`
|
|
- Password: `TestPass123!`
|
|
|
|
Override them with:
|
|
|
|
- `PLAYWRIGHT_TEST_EMAIL`
|
|
- `PLAYWRIGHT_TEST_PASSWORD`
|
|
|
|
## Common local issue
|
|
|
|
If the suite fails before tests start with a database connection error, PostgreSQL is not running or the Playwright DB env vars do not point at a reachable database.
|