diff --git a/tests/acceptance/applications/javascriptExportBindingModuleView.test.ts b/tests/acceptance/applications/javascriptExportBindingModuleView.test.ts index 4f29dc9447..e335d525c5 100644 --- a/tests/acceptance/applications/javascriptExportBindingModuleView.test.ts +++ b/tests/acceptance/applications/javascriptExportBindingModuleView.test.ts @@ -102,6 +102,9 @@ cliTest( limit: 100, }); if (page.kind !== "page") throw new Error("expected modules page"); + expect(page.items).toContainEqual( + expect.objectContaining({ path: "index.js" }), + ); const pageNodeIds = page.items.map((item) => String((item as { node_id?: unknown }).node_id), ); diff --git a/tests/acceptance/javascriptRoutesCli.test.ts b/tests/acceptance/javascriptRoutesCli.test.ts index a5450eac54..0d5a3ea18b 100644 --- a/tests/acceptance/javascriptRoutesCli.test.ts +++ b/tests/acceptance/javascriptRoutesCli.test.ts @@ -558,21 +558,25 @@ cliTest( expect(response.exitCode, response.stderr).toBe(0); const envelope = response.json as { summary: unknown }; const selected = routeViewFromEvidence(envelope.summary); - expect(selected.items).toHaveLength(12); - expect(selected.items).toEqual( - expect.arrayContaining([ - expect.objectContaining({ path: "/reports/aliased-web" }), - expect.objectContaining({ path: "/checks/independent-web" }), - expect.objectContaining({ path: "/checks/projected-web" }), - expect.objectContaining({ path: "/checks/rest-web" }), - expect.objectContaining({ path: "/checks/inactive-default-web" }), - expect.objectContaining({ path: "/checks/inactive-branch-web" }), - expect.objectContaining({ path: "/checks/overwritten-web" }), - expect.objectContaining({ path: "/checks/member-web" }), - expect.objectContaining({ path: "/checks/config-sibling-web" }), - expect.objectContaining({ path: "/checks/optional-web/:id?" }), - ]), - ); + const expectedPaths = [ + "/reports/settings", + "/reports/panel", + "/reports/aliased-web", + "/checks/independent-web", + "/checks/projected-web", + "/checks/rest-web", + "/checks/inactive-default-web", + "/checks/inactive-branch-web", + "/checks/overwritten-web", + "/checks/member-web", + "/checks/config-sibling-web", + "/checks/optional-web/:id?", + ].sort(); + expect( + selected.items + .map((item) => ("path" in item ? item.path : null)) + .sort(), + ).toEqual(expectedPaths); expect(selected.artifact).toBeNull(); const { call } = await connectLocalToolsMcp(); const observed = await call("analyze_web_bundle", { @@ -585,21 +589,9 @@ cliTest( }); expect(observed.isError).not.toBe(true); const result = routeViewFromEvidence(observed.structuredContent); - expect(result.items).toHaveLength(12); - expect(result.items).toEqual( - expect.arrayContaining([ - expect.objectContaining({ path: "/reports/aliased-web" }), - expect.objectContaining({ path: "/checks/independent-web" }), - expect.objectContaining({ path: "/checks/projected-web" }), - expect.objectContaining({ path: "/checks/rest-web" }), - expect.objectContaining({ path: "/checks/inactive-default-web" }), - expect.objectContaining({ path: "/checks/inactive-branch-web" }), - expect.objectContaining({ path: "/checks/overwritten-web" }), - expect.objectContaining({ path: "/checks/member-web" }), - expect.objectContaining({ path: "/checks/config-sibling-web" }), - expect.objectContaining({ path: "/checks/optional-web/:id?" }), - ]), - ); + expect( + result.items.map((item) => ("path" in item ? item.path : null)).sort(), + ).toEqual(expectedPaths); const retained = await call("inspect_analysis_view", { source: { kind: "retained-evidence", diff --git a/tests/acceptance/rustBinaryCli.test.ts b/tests/acceptance/rustBinaryCli.test.ts index 8ba924ebb1..f2b503947c 100644 --- a/tests/acceptance/rustBinaryCli.test.ts +++ b/tests/acceptance/rustBinaryCli.test.ts @@ -377,7 +377,7 @@ cliTest( }, ); -cliTest("reports malformed zlib as invalid input", async ({ cli }) => { +cliTest("rejects malformed dependency JSON", async ({ cli }) => { const root = await createTestTempDirectory("rea-rust-cli-zlib-"); const path = join(root, "broken.elf"); await writeFile( diff --git a/tests/acceptance/sqliteDatabaseCli.test.ts b/tests/acceptance/sqliteDatabaseCli.test.ts index 7c62a4f80e..25a7e6de34 100644 --- a/tests/acceptance/sqliteDatabaseCli.test.ts +++ b/tests/acceptance/sqliteDatabaseCli.test.ts @@ -838,6 +838,7 @@ cliTest "negative_zero", "generated", ], + order: "rowid", returned_rows: 1, row_limit: 1, truncated: true, @@ -845,7 +846,7 @@ cliTest [ { type: "integer", - value: expect.stringMatching(/^900719925474099[34]$/), + value: "9007199254740993", }, { type: "blob", hex: "deadbeef" }, { type: "real", value: "Infinity" }, diff --git a/tests/boundary/cli/analyzeFunctionDetail.test.ts b/tests/boundary/cli/analyzeFunctionDetail.test.ts index 721006b23f..ee89988fea 100644 --- a/tests/boundary/cli/analyzeFunctionDetail.test.ts +++ b/tests/boundary/cli/analyzeFunctionDetail.test.ts @@ -72,7 +72,18 @@ it("rejects summary delivery without --evidence_output before any analysis", asy const h = harness(); const out = await h.invoke({ detail: "summary" }); expect(h.runDirectAnalysis).not.toHaveBeenCalled(); - expect(JSON.stringify(out)).toContain("evidence_output"); + expect(out).toMatchObject({ + code: "invalid_request", + details: { + operation: "analyze_function", + issues: expect.arrayContaining([ + expect.objectContaining({ + path: ["evidence_output"], + reason: "invalid_value", + }), + ]), + }, + }); }); it("summary delivery returns the compact view and writes a bundle inspect-analysis-view pages", async () => { diff --git a/tests/boundary/cli/dispatcher.test.ts b/tests/boundary/cli/dispatcher.test.ts index af8ac83d82..f1804a99f8 100644 --- a/tests/boundary/cli/dispatcher.test.ts +++ b/tests/boundary/cli/dispatcher.test.ts @@ -228,7 +228,7 @@ describe("runtime admission dispatch", () => { async ({ processes, workspace }) => { await installCliRuntime( workspace, - "export const closeCliResources = () => {}; export const createCli = () => ({ serve: () => {} });\n", + "export const closeCliResources = () => {}; export const createCli = () => ({ serve: () => { process.stdout.write('runtime-served\\n'); } });\n", ); const previousMajor = Number(process.versions.node.split(".")[0]) - 1; for (const range of [ @@ -248,6 +248,8 @@ describe("runtime admission dispatch", () => { [workspace.path("scripts/rea.mjs"), "fixture"], { cwd: workspace.root }, ); + expect(result.exitCode).toBe(0); + expect(result.stdout).toBe("runtime-served\n"); expect(result.stderr).toBe(""); } }, diff --git a/tests/boundary/cli/environmentExportCli.test.ts b/tests/boundary/cli/environmentExportCli.test.ts index 9d1bb5405c..bf71062df2 100644 --- a/tests/boundary/cli/environmentExportCli.test.ts +++ b/tests/boundary/cli/environmentExportCli.test.ts @@ -142,6 +142,8 @@ cliTest( expect(document.files.map((file) => file.path).sort()).toEqual( BUNDLE_FILES, ); + for (const file of document.files) + expect(file.bytes).toBe((await stat(join(directory, file.path))).size); const written = ( await readdir(directory, { recursive: true, withFileTypes: true }) )