openclaw/src/providers/github-copilot-models.test.ts

40 lines
1.3 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { buildCopilotModelDefinition, getDefaultCopilotModelIds } from "./github-copilot-models.js";
describe("github-copilot-models", () => {
describe("getDefaultCopilotModelIds", () => {
it("includes claude-sonnet-4.6", () => {
expect(getDefaultCopilotModelIds()).toContain("claude-sonnet-4.6");
});
it("includes claude-sonnet-4.5", () => {
expect(getDefaultCopilotModelIds()).toContain("claude-sonnet-4.5");
});
it("returns a mutable copy", () => {
const a = getDefaultCopilotModelIds();
const b = getDefaultCopilotModelIds();
expect(a).not.toBe(b);
expect(a).toEqual(b);
});
});
describe("buildCopilotModelDefinition", () => {
it("builds a valid definition for claude-sonnet-4.6", () => {
const def = buildCopilotModelDefinition("claude-sonnet-4.6");
expect(def.id).toBe("claude-sonnet-4.6");
expect(def.api).toBe("openai-responses");
});
it("trims whitespace from model id", () => {
const def = buildCopilotModelDefinition(" gpt-4o ");
expect(def.id).toBe("gpt-4o");
});
it("throws on empty model id", () => {
expect(() => buildCopilotModelDefinition("")).toThrow("Model id required");
expect(() => buildCopilotModelDefinition(" ")).toThrow("Model id required");
});
});
});