Summary
The repository has no end-to-end coverage. Everything is verified with Vitest against jsdom, so nothing exercises the app in a real browser talking to a real gateway. Contract mismatches between the UI and the gateway, and regressions that only appear once a real network round trip and a real DOM are involved, can only be caught by hand today.
Proposed solution (optional)
Add a Playwright harness that runs the app against a gateway in a container:
playwright.config.ts plus an e2e/ directory, with the dev server started by Playwright itself
- a Compose file pinning a specific gateway image, its parameter file, a small manifest, and a named volume so anything the gateway writes stays out of the checkout
- a global setup that waits for the gateway to be healthy and seeds the stored server URL, so specs do not have to drive the connection dialog
- a smoke test proving the stack comes up and the entity tree renders
- a CI job alongside the existing checks, dumping the gateway's container logs when a run fails so a container that dies during startup can be diagnosed from the run alone
- a section in CONTRIBUTING describing how to run the suite locally
Additional context (optional)
The harness is the prerequisite for end-to-end coverage of the Scripts tab (#45), which is where the need surfaced: several of its behaviours depend on what the gateway actually does with a script process, and cannot be verified against a mock.
Summary
The repository has no end-to-end coverage. Everything is verified with Vitest against jsdom, so nothing exercises the app in a real browser talking to a real gateway. Contract mismatches between the UI and the gateway, and regressions that only appear once a real network round trip and a real DOM are involved, can only be caught by hand today.
Proposed solution (optional)
Add a Playwright harness that runs the app against a gateway in a container:
playwright.config.tsplus ane2e/directory, with the dev server started by Playwright itselfAdditional context (optional)
The harness is the prerequisite for end-to-end coverage of the Scripts tab (#45), which is where the need surfaced: several of its behaviours depend on what the gateway actually does with a script process, and cannot be verified against a mock.