import { describe, expect, it } from "vitest"; import { OpenClawSchema } from "./zod-schema.js"; describe("skills entries config schema", () => { it("accepts custom fields under config", () => { const res = OpenClawSchema.safeParse({ skills: { entries: { "custom-skill": { enabled: true, config: { url: "https://example.invalid", token: "abc123", }, }, }, }, }); expect(res.success).toBe(true); }); it("rejects unknown top-level fields", () => { const res = OpenClawSchema.safeParse({ skills: { entries: { "custom-skill": { url: "https://example.invalid", }, }, }, }); expect(res.success).toBe(false); if (res.success) { return; } expect( res.error.issues.some( (issue) => issue.path.join(".") === "skills.entries.custom-skill" && issue.message.toLowerCase().includes("unrecognized"), ), ).toBe(true); }); });