test: add tool-inventory smoke test asserting the 23-tool surface
Every PR in the non-custodial-split series is supposed to preserve `tools/list` returning 23 tools with identical schemas, but nothing enforced it — PRs 2, 6, 7 and 8 will restructure and rename tool families, and a snapshot only means something if it's taken before that starts. Boot the built server, call listTools(), and assert both the count and the exact sorted name list against a checked-in baseline captured from a live run on this branch. Failures report which names were added/removed rather than a bare array-diff. Reuses startServer()/stopServer() from test/setup.ts; does not call getMnemonic(), so it needs no wallet. Wired into CI as a new step after the unit tests. Also raises the server-start timeout in setup.ts from 15s to 60s — the Cardano WASM import makes cold starts slow enough that 15s was flaky on the smoke test's first CI run. test:smoke is intentionally separate from test:unit (which does not build) since startServer() spawns build/index.js.
This commit is contained in:
@@ -14,7 +14,8 @@
|
||||
"start": "node build/index.js",
|
||||
"test": "npm run test:unit",
|
||||
"test:unit": "node --import tsx --test test/unit/*.test.ts",
|
||||
"test:integration": "npm run build && node --import tsx --test test/integration/*.test.ts"
|
||||
"test:integration": "npm run build && node --import tsx --test test/integration/*.test.ts",
|
||||
"test:smoke": "npm run build && node --import tsx --test test/smoke/*.test.ts"
|
||||
},
|
||||
"files": [
|
||||
"build"
|
||||
|
||||
Reference in New Issue
Block a user