copilot-api / tests /responses-remove-unsupported-tools.test.ts
imspsycho's picture
Initial upload from Google Colab
98c9143 verified
Raw
History Blame Contribute Delete
1.46 kB
import { describe, expect, it } from "bun:test"
import type { ResponsesPayload } from "~/services/copilot/create-responses"
import { removeUnsupportedTools } from "~/routes/responses/handler"
const makePayload = (tools: ResponsesPayload["tools"]): ResponsesPayload =>
({ model: "gpt-5", input: [], tools }) as unknown as ResponsesPayload
describe("removeUnsupportedTools", () => {
it("removes image_generation tools", () => {
const payload = makePayload([
{ type: "image_generation" },
{ type: "function", name: "foo" },
] as ResponsesPayload["tools"])
removeUnsupportedTools(payload)
expect(payload.tools).toHaveLength(1)
expect((payload.tools as Array<{ type: string }>)[0].type).toBe("function")
})
it("leaves payload unchanged when no unsupported tools present", () => {
const tools = [
{ type: "function", name: "foo" },
{ type: "web_search" },
] as ResponsesPayload["tools"]
const payload = makePayload(tools)
removeUnsupportedTools(payload)
expect(payload.tools).toHaveLength(2)
})
it("is a no-op when tools is missing or empty", () => {
const empty = makePayload([] as ResponsesPayload["tools"])
removeUnsupportedTools(empty)
expect(empty.tools).toEqual([] as ResponsesPayload["tools"])
const missing = { model: "gpt-5", input: [] } as unknown as ResponsesPayload
removeUnsupportedTools(missing)
expect(missing.tools).toBeUndefined()
})
})