import { describe, expect, it } from "vitest"; import { projectAddInputSchema, projectAddResultSchema, projectListResultSchema, projectRemoveInputSchema,} from "./project"; describe("project contracts", () => { it("parses project list result", () => { const result = projectListResultSchema.parse([ { id: "project-1", cwd: "/tmp/project", name: "project", createdAt: "2026-02-10T00:00:00.000Z", updatedAt: "2026-02-10T00:00:00.000Z", }, ]); expect(result).toHaveLength(1); expect(result[0]?.id).toBe("project-1"); }); it("trims add input cwd", () => { const parsed = projectAddInputSchema.parse({ cwd: " /tmp/project " }); expect(parsed.cwd).toBe("/tmp/project"); }); it("requires add result created flag", () => { const parsed = projectAddResultSchema.parse({ project: { id: "project-1", cwd: "/tmp/project", name: "project", createdAt: "2026-02-10T00:00:00.000Z", updatedAt: "2026-02-10T00:00:00.000Z", }, created: true, }); expect(parsed.created).toBe(true); }); it("parses remove input", () => { const parsed = projectRemoveInputSchema.parse({ id: "project-1" }); expect(parsed.id).toBe("project-1"); });});
import { describe, expect, it } from "vitest";
import {
projectAddInputSchema,
projectAddResultSchema,
projectListResultSchema,
projectRemoveInputSchema,
} from "./project";
describe("project contracts", () => {
it("parses project list result", () => {
const result = projectListResultSchema.parse([
{
id: "project-1",
cwd: "/tmp/project",
name: "project",
createdAt: "2026-02-10T00:00:00.000Z",
updatedAt: "2026-02-10T00:00:00.000Z",
},
]);
expect(result).toHaveLength(1);
expect(result[0]?.id).toBe("project-1");
});
it("trims add input cwd", () => {
const parsed = projectAddInputSchema.parse({ cwd: " /tmp/project " });
expect(parsed.cwd).toBe("/tmp/project");
});
it("requires add result created flag", () => {
const parsed = projectAddResultSchema.parse({
project: {
id: "project-1",
cwd: "/tmp/project",
name: "project",
createdAt: "2026-02-10T00:00:00.000Z",
updatedAt: "2026-02-10T00:00:00.000Z",
},
created: true,
});
expect(parsed.created).toBe(true);
});
it("parses remove input", () => {
const parsed = projectRemoveInputSchema.parse({ id: "project-1" });
expect(parsed.id).toBe("project-1");
});
});