fed8b2eed7
Backend release / release (push) Waiting to run
Bandit Security Scan / bandit_scan (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / manifest (push) Blocked by required conditions
Build and push DocsGPT FE Docker image for development / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / manifest (push) Blocked by required conditions
Python linting / ruff (push) Waiting to run
Run python tests with pytest / Run tests and count coverage (3.12) (push) Waiting to run
React Widget Build / build (push) Waiting to run
61 lines
1.7 KiB
Markdown
61 lines
1.7 KiB
Markdown
# DocsGPT E2E Tests
|
|
|
|
End-to-end tests for DocsGPT, driven by Playwright against the full native
|
|
dev stack (Flask + Celery + Vite + a mock LLM stub), backed by a disposable
|
|
`docsgpt_e2e` Postgres database.
|
|
|
|
This is an isolated Node workspace. It has its own `package.json` so
|
|
Playwright never ends up in the frontend app bundle.
|
|
|
|
## Quick start
|
|
|
|
```bash
|
|
# 1. Install JS deps (first time only).
|
|
npm install
|
|
|
|
# 2. Install the Chromium browser Playwright will drive (first time only).
|
|
npm run e2e:install
|
|
|
|
# 3. Bake the Postgres template DB (one-time, idempotent).
|
|
../../scripts/e2e/bake_template.sh
|
|
|
|
# 4. Run the whole suite: boots services, runs tests, tears down.
|
|
npm run e2e
|
|
```
|
|
|
|
## Interactive development
|
|
|
|
When iterating on a spec you want the services up across many runs:
|
|
|
|
```bash
|
|
npm run e2e:up # boot Flask + Celery + Vite + mock LLM, leave them running
|
|
npm run e2e:ui # open Playwright UI against the running stack
|
|
npm run e2e:down # tear down when done
|
|
```
|
|
|
|
## Reports
|
|
|
|
After a run, view the HTML report:
|
|
|
|
```bash
|
|
npm run e2e:report
|
|
```
|
|
|
|
Traces, screenshots, and videos for failed tests land under `test-results/`.
|
|
Trace is captured `on-first-retry` (the first attempt runs clean; the retry
|
|
records for debugging).
|
|
|
|
## Structure
|
|
|
|
- `specs/` — test files, grouped by tier (`auth/`, `tier-a/`, `tier-b/`, `tier-c/`).
|
|
- `helpers/` — shared TypeScript helpers: `auth.ts`, `db.ts`, `reset.ts`,
|
|
`api.ts`. Imported via the `@helpers/*` path alias.
|
|
- `fixtures/` — static fixture documents (PDFs, markdown, text) used by
|
|
upload specs. Body content must be deterministic — no dates, UUIDs, or
|
|
random tokens.
|
|
|
|
## Full plan
|
|
|
|
See [`../../e2e-plan.md`](../../e2e-plan.md) for the phased rollout,
|
|
parallelization model, and Tier-A/B/C spec inventory.
|