Gnome toolbar for Tangled code review.

test: run the helper in protocol mode against a mock server #23

Merged permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:claude/driver-integration-test
Merged opened by and assigned to permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:claude/driver-integration-test

Adds tests/driver/protocol.test.js, which starts the real helper (gjs -m extension/helper/main.js) with no arguments and its appview and resolver pointed at a local Soup.Server that gives canned XRPC answers. Jetstream is off (live: false), and the state dir is a fresh temp dir.

After the config line, the test checks the whole sequence: a loading state; three ok states (the PR list with merge and CI still checking, then the merge verdicts with CI still checking, then CI); then a diagnostics line with one successful refresh and the verdict counts. It also checks that every request the server saw was one it expected and was logged once. When stdin closes, the helper must print nothing more, exit 0, leave stderr empty and save diagnostics.json again (the test deletes the copy the refresh wrote first). The three PRs it reviews come out ready, conflicted and pending, and your own PR is left out. The test takes about 3 s and fails within 25 s if the helper hangs.

No source changes. The backlog item is removed. A new P3 item notes that spindles are always asked over https://, so this test can't cover CI or a failing verdict.

🤖 Generated with Claude Code

Commits 0