Build and Push Container / build-and-push (push) Successful in 26s
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`
29 lines
867 B
JavaScript
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' } },
|
|
],
|
|
});
|