mirror of
https://github.com/A13xB0/hopreach.git
synced 2026-09-01 22:18:17 +00:00
The 5-phase rename/layout/config/region/WASM plan's gates repeatedly cited a "full Playwright regression suite" as a completion condition, but no such suite (or even a package.json) ever actually existed — every prior gate had been satisfied by manual browser verification instead. Everything else in the plan was already done and re-verified this session (go vet/gofmt/staticcheck/test/build, wasm build, both Docker images, YAML config flow-through, region/context/globals checks); this was the one real gap. tests/basic.spec.js: page load, map render, repeater stats populate, no console errors, progress.json shape. tests/planning.spec.js: plan panel open/close, add-repeater via map clicks, LOS hop-chain building, companion pin toggle. tests/simulator.spec.js: Simulate/Plan panel mutual exclusivity, loading planned repeaters, building links via the propagation model, running a simulation, predicting settings, clearing state. Seeds a plan directly into localStorage (two points ~500m apart, real Scotland terrain) rather than driving imprecise map-pixel clicks, since this suite cares about exact geographic control and speed, not re-testing the click-to-place UI (already covered by planning.spec.js). Deliberately does not wait for a full coverage compute pass (minutes to hours depending on GPU/CPU and region size) — only that repeaters.geojson has loaded, which is all the client-side tools these tests exercise need; coverage math correctness is covered by the Go test suite plus the WASM/backend shared-code guarantee. playwright.config.js's webServer runs `docker compose up` (reusing an already-running instance locally, always fresh in CI); CI's new e2e job builds the image first as its own step so build failures surface distinctly from test failures. README: new "End-to-end tests" subsection under Local development.