From d544414eefa298917ace12c5e30476d736ea7e37 Mon Sep 17 00:00:00 2001 From: Shakker Date: Mon, 11 May 2026 09:13:17 +0100 Subject: [PATCH] test: tighten copilot model assertions --- extensions/github-copilot/index.test.ts | 23 +++++++++++++++++++---- extensions/github-copilot/models.test.ts | 10 +++++++--- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/extensions/github-copilot/index.test.ts b/extensions/github-copilot/index.test.ts index 4fc2fca4677..d8b6cac9ae8 100644 --- a/extensions/github-copilot/index.test.ts +++ b/extensions/github-copilot/index.test.ts @@ -449,10 +449,25 @@ describe("github-copilot plugin", () => { }); expect(runtime.error).not.toHaveBeenCalled(); - expect(resolveApiKey).toHaveBeenCalledWith( - expect.objectContaining({ envVar: "COPILOT_GITHUB_TOKEN" }), - ); - expect(resolveApiKey).toHaveBeenCalledWith(expect.objectContaining({ envVar: "GH_TOKEN" })); + expect(resolveApiKey).toHaveBeenCalledTimes(2); + expect(resolveApiKey.mock.calls.map(([params]) => params)).toEqual([ + { + provider: "github-copilot", + flagName: "--github-copilot-token", + envVar: "COPILOT_GITHUB_TOKEN", + envVarName: "COPILOT_GITHUB_TOKEN", + allowProfile: false, + required: false, + }, + { + provider: "github-copilot", + flagName: "--github-copilot-token", + envVar: "GH_TOKEN", + envVarName: "GH_TOKEN", + allowProfile: false, + required: false, + }, + ]); expect(result?.auth?.profiles?.["github-copilot:github"]).toEqual({ provider: "github-copilot", mode: "token", diff --git a/extensions/github-copilot/models.test.ts b/extensions/github-copilot/models.test.ts index c5cd4a7ed69..0311681f679 100644 --- a/extensions/github-copilot/models.test.ts +++ b/extensions/github-copilot/models.test.ts @@ -105,12 +105,13 @@ describe("github-copilot model defaults", () => { it("uses static metadata overrides for gpt-5.5 fallback rows", () => { const def = buildCopilotModelDefinition("gpt-5.5"); - expect(def).toMatchObject({ + expect(def).toEqual({ id: "gpt-5.5", name: "GPT-5.5", api: "openai-responses", reasoning: true, input: ["text", "image"], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 400_000, maxTokens: 128_000, }); @@ -212,12 +213,14 @@ describe("resolveCopilotForwardCompatModel", () => { it("uses static metadata for gpt-5.5 when live discovery rows are unavailable", () => { const result = requireResolvedModel(createMockCtx("gpt-5.5")); - expect(result).toMatchObject({ + expect(result).toEqual({ id: "gpt-5.5", name: "GPT-5.5", + provider: "github-copilot", api: "openai-responses", reasoning: true, input: ["text", "image"], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 400_000, maxTokens: 128_000, }); @@ -514,12 +517,13 @@ describe("fetchCopilotModelCatalog", () => { ]); const gpt55 = out.find((m) => m.id === "gpt-5.5"); - expect(gpt55).toMatchObject({ + expect(gpt55).toEqual({ id: "gpt-5.5", name: "GPT-5.5", api: "openai-responses", reasoning: true, input: ["text", "image"], + cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 400000, maxTokens: 128000, });