Two or three Playwright smoke tests, no more. App boots, wasm loads, a
solve completes. Drive real events at canvas coordinates — eframe does
listen on the canvas, so page.mouse.click produces genuine input — and
assert through a #[cfg(feature = "test_hooks")] #[wasm_bindgen] state
accessor reached via WebRunner::app_mut, never by pixel-matching.
Export widget rects by stable test id so tests ask "where is
solve_button" rather than hard-coding coordinates.
Checked against main @ faec848. Still open: no Playwright config or spec anywhere in the tree.
Source: TODO.md line 2998 — Interface › Testing the interface
Two or three Playwright smoke tests, no more. App boots, wasm loads, a
solve completes. Drive real events at canvas coordinates — eframe does
listen on the canvas, so
page.mouse.clickproduces genuine input — andassert through a
#[cfg(feature = "test_hooks")]#[wasm_bindgen]stateaccessor reached via
WebRunner::app_mut, never by pixel-matching.Export widget rects by stable test id so tests ask "where is
solve_button" rather than hard-coding coordinates.Checked against
main@faec848. Still open: no Playwright config or spec anywhere in the tree.Source:
TODO.mdline 2998 — Interface › Testing the interface