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

1.7 KiB

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

# 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:

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:

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 for the phased rollout, parallelization model, and Tier-A/B/C spec inventory.