Files
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 13:28:29 +08:00

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.