Testing and documentation screenshots
Checks
pnpm typecheck # all packages
pnpm test # API and core integration tests (needs postgres + seaweedfs running)
node scripts/smoke.mjs # quick UI smoke test against running dev servers
End-to-end suite (Playwright)
testing/ holds a Playwright suite that drives a running Orbit through its core workflows. It checks that every value it types is shown again on the saved record.
cd testing
npm install
npx playwright install chromium
cp .env.example .env # ORBIT_URL, ORBIT_TENANT, ORBIT_EMAIL, ORBIT_PASSWORD
npm test # everything
npm run test:smoke # page-render sweep only
npm run test:readonly # skips tests that create data, so it's safe against production
npm run report # HTML report
Everything the suite creates is named E2E <id> and deleted afterwards unless ORBIT_KEEP_DATA=1. See testing/README.md.
Regenerating documentation screenshots
scripts/doc-shots.mjs drives the running app and writes the images in documentation/assets/screenshots/.
node scripts/doc-shots.mjs # everything
node scripts/doc-shots.mjs --only=imports,forms # some groups
Groups: public, shell, clients, cases, appointments, staff, employers, jobs, events, documents, imports, recipes, forms, reports, admin, settings, overseer.
Environment: BASE (default http://localhost:3100), OVERSEER (http://localhost:3101), TENANT (acme), EMAIL / PASSWORD (demo admin), SUPERADMIN_EMAIL / SUPERADMIN_PASSWORD, API_CONTAINER (areocentric-api-1).
Notes:
- Run it against a demo tenant. Several groups create data named
Docs …:publicapplies for a job and registers for an event, then confirms both using the link from the API log (needs SMTP unset and Docker access to the API container);jobsconverts that application;importsandrecipesimport the sample CSVs indocumentation/assets/samples/;formsbuilds a form, publishes it, then deactivates it;reportssaves a report and a schedule.
recipescreates records without duplicate matching on every run; run it once per tenant.- Screenshots use a 1440×900 viewport, light theme, Toronto timezone.