Files
homepage/playwright.config.js
T
ducoterra bcfaa1cac6
Build and Push Container / build-and-push (push) Successful in 26s
phase: 02_simulate_fetch_commands
All green. Final report:

**Phase 02 — final verification pass** (both tasks already in `.agents/phases/complete/02_simulate_fetch_commands/`)
- Verified: no `fetch(` remains in `src/` (grep exit 1) or in built `dist/*.js`
- Verified: `simulatedCurlOutput()` / `simulatedWgetOutput()` in `src/terminal-commands.js` (lines 63/73), wired into `src/terminal.js` curl/wget branches
- Verified: regression test `curl/wget are simulated — no real network request leaves the origin` in `tests/e2e/02-terminal.spec.js` — asserts simulated bodies, `web_navigator` toast + localStorage persistence, and zero non-`baseURL` requests
- Tests: `./build.sh` → OK; `npm test` → **46 passed, 0 failed** (≥46 required); `bash .agents/validate.sh` → **exit 0** (E2E + repo-hygiene gates)
- No linter configured beyond validate.sh (vanilla JS, LOCKED no-toolchain)
- Completion criteria: ①no `fetch(` ✅ ②simulators present ✅ ③regression tests present & passing ✅ ④build+test 46 green ✅ ⑤no behavior change (page/terminal/vim/achievements/menu suites all green) ✅
- Documentation: full README/AGENTS.md review — both already updated in working tree and consistent with the project (simulated curl/wget, validate.sh gate, Podman build flow vs Dockerfile, Node ≥20 matches `@playwright/test` engines, M-4 header gap correctly documented as pending Phase 03) — **verified consistent, no changes needed**
- Note: `PLAN.md` still says "44 tests" (now 46) but PLAN is locked — flagged for the harness/user, not edited
- Next pending phase: `03_nginx_security_headers`
2026-10-22 23:14:49 -04:00

29 lines
867 B
JavaScript

// @ts-check
const { defineConfig } = require('@playwright/test');
/**
* E2E config: serves the production build (dist/) on a local static server.
* Always run `./build.sh` (npm run build) before `npm test` so the tests
* exercise the exact artifact that gets deployed.
*/
module.exports = defineConfig({
testDir: './tests/e2e',
timeout: 20000,
retries: 0,
workers: 1,
reporter: [['list'], ['html', { open: 'never' }]],
use: {
baseURL: 'http://127.0.0.1:8123',
viewport: { width: 1440, height: 900 },
},
webServer: {
command: 'python3 -m http.server 8123 --bind 0.0.0.0 --directory dist',
url: 'http://127.0.0.1:8123/index.html',
reuseExistingServer: !process.env.CI,
timeout: 15000,
},
projects: [
{ name: 'chromium', use: { browserName: 'chromium' } },
],
});