Problem
The repo has strong unit and component coverage (170+ unit and 25 component test files) but no browser-level end-to-end tests. Nothing exercises the real stack: the UI driving real queries through the proxy server against a real graph database.
Two recent bugs illustrate the gap:
Proposal
A small Playwright suite that runs the full stack locally and in CI:
tinkerpop/gremlin-server in Docker using the bundled conf/gremlin-server-rest-modern.yaml (HTTP endpoint, modern sample graph preloaded, no auth). Starts in seconds and needs no AWS resources.
- The existing proxy server and dev server, exactly as
pnpm dev runs them.
- Playwright driving Chrome: create a connection, sync schema, search, add nodes, expand neighbors, and assert on both the rendered UI and the captured Gremlin requests.
I have a working prototype of this exact stack. It produced the before/after evidence on #2069 (screenshots plus captured request bodies proving the missing .range() clause) and an earlier variant produced the evidence on #1979 with a stub server. The pieces that exist today: launch orchestration, connection setup flow, schema sync wait, node-to-canvas flow, expand panel interaction, and network capture.
Suggested starting scope
- One smoke test per query language reachable with local engines (Gremlin now via TinkerPop; openCypher and SPARQL as follow-ups if suitable local engines are agreed on)
- The critical analyst path: connect, sync, search, add to canvas, expand with limit
- CI job with the Docker service, gated to run on PRs
Out of scope for a first pass
Happy to contribute this incrementally, starting with the harness plus two or three smoke tests, if the approach sounds right to the team.
Problem
The repo has strong unit and component coverage (170+ unit and 25 component test files) but no browser-level end-to-end tests. Nothing exercises the real stack: the UI driving real queries through the proxy server against a real graph database.
Two recent bugs illustrate the gap:
Proposal
A small Playwright suite that runs the full stack locally and in CI:
tinkerpop/gremlin-serverin Docker using the bundledconf/gremlin-server-rest-modern.yaml(HTTP endpoint, modern sample graph preloaded, no auth). Starts in seconds and needs no AWS resources.pnpm devruns them.I have a working prototype of this exact stack. It produced the before/after evidence on #2069 (screenshots plus captured request bodies proving the missing
.range()clause) and an earlier variant produced the evidence on #1979 with a stub server. The pieces that exist today: launch orchestration, connection setup flow, schema sync wait, node-to-canvas flow, expand panel interaction, and network capture.Suggested starting scope
Out of scope for a first pass
Happy to contribute this incrementally, starting with the harness plus two or three smoke tests, if the approach sounds right to the team.