35 lines
1.5 KiB
TypeScript
35 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { getAgentDefinition } from "@/lib/agent-definitions";
|
|
import { AGENT_TEMPLATES, getAgentTemplate } from "@/lib/agent-templates";
|
|
|
|
describe("agent templates", () => {
|
|
it("registers the campaign distributor template", () => {
|
|
expect(AGENT_TEMPLATES.map((template) => template.id)).toEqual([
|
|
"campaign-distributor",
|
|
]);
|
|
});
|
|
|
|
it("projects runtime definition metadata for existing canvas callers", () => {
|
|
const template = getAgentTemplate("campaign-distributor");
|
|
const definition = getAgentDefinition("campaign-distributor");
|
|
|
|
expect(definition).toBeDefined();
|
|
|
|
expect(template?.name).toBe(definition?.metadata.name);
|
|
expect(template?.description).toBe(definition?.metadata.description);
|
|
expect(template?.emoji).toBe(definition?.metadata.emoji);
|
|
expect(template?.color).toBe(definition?.metadata.color);
|
|
expect(template?.vibe).toBe(definition?.metadata.vibe);
|
|
expect(template?.tools).toEqual(definition?.uiReference.tools);
|
|
expect(template?.channels).toEqual(definition?.channelCatalog);
|
|
expect(template?.expectedInputs).toEqual(definition?.uiReference.expectedInputs);
|
|
expect(template?.expectedOutputs).toEqual(definition?.uiReference.expectedOutputs);
|
|
expect(template?.notes).toEqual(definition?.uiReference.notes);
|
|
});
|
|
|
|
it("keeps unknown template lookup behavior unchanged", () => {
|
|
expect(getAgentTemplate("unknown-template")).toBeUndefined();
|
|
});
|
|
});
|