chore: add Vitest scaffolding and sync package.json to v2.2.3
This commit is contained in:
45
tests-ts/tool-response.test.ts
Normal file
45
tests-ts/tool-response.test.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
import { describe, it, expect } from "vitest";
|
||||
import { formatKicadResult } from "../src/tools/tool-response.js";
|
||||
|
||||
describe("formatKicadResult", () => {
|
||||
it("wraps a successful object result as JSON text content", () => {
|
||||
const response = formatKicadResult({ success: true, value: 42 });
|
||||
expect(response.content).toEqual([
|
||||
{ type: "text", text: JSON.stringify({ success: true, value: 42 }) },
|
||||
]);
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
|
||||
it("flags isError when the KiCAD payload reports success=false", () => {
|
||||
const response = formatKicadResult({ success: false, error: "boom" });
|
||||
expect(response.isError).toBe(true);
|
||||
expect(response.content[0].text).toBe(JSON.stringify({ success: false, error: "boom" }));
|
||||
});
|
||||
|
||||
it("does not flag isError for payloads without a success field", () => {
|
||||
const response = formatKicadResult({ data: [1, 2, 3] });
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
|
||||
it("does not flag isError for success=true", () => {
|
||||
const response = formatKicadResult({ success: true });
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
|
||||
it("does not flag isError when success is a truthy non-false value", () => {
|
||||
const response = formatKicadResult({ success: "ok" });
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
|
||||
it("handles string results", () => {
|
||||
const response = formatKicadResult("hello");
|
||||
expect(response.content[0].text).toBe(JSON.stringify("hello"));
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
|
||||
it("handles null without throwing", () => {
|
||||
const response = formatKicadResult(null);
|
||||
expect(response.content[0].type).toBe("text");
|
||||
expect(response.isError).toBeUndefined();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user