@@ -27,7 +27,9 @@ describe("qa model selection runtime", () => {
|
27 | 27 | vi.clearAllMocks(); |
28 | 28 | resolveEnvApiKey.mockReturnValue(undefined); |
29 | 29 | loadAuthProfileStoreForRuntime.mockReturnValue({ profiles: {} }); |
30 | | -listProfilesForProvider.mockReturnValue([]); |
| 30 | +listProfilesForProvider.mockImplementation((store: { profiles?: Record<string, unknown> }) => |
| 31 | +Object.keys(store.profiles ?? {}), |
| 32 | +); |
31 | 33 | }); |
32 | 34 | |
33 | 35 | it("keeps the OpenAI live default when an API key is configured", () => { |
@@ -39,9 +41,14 @@ describe("qa model selection runtime", () => {
|
39 | 41 | }); |
40 | 42 | |
41 | 43 | it("prefers the Codex OAuth live default when only Codex auth profiles are available", () => { |
42 | | -listProfilesForProvider.mockImplementation((_store: unknown, provider: string) => |
43 | | -provider === "openai" ? ["openai:user@example.com"] : [], |
44 | | -); |
| 44 | +loadAuthProfileStoreForRuntime.mockReturnValue({ |
| 45 | +profiles: { |
| 46 | +"openai:user@example.com": { |
| 47 | +provider: "openai", |
| 48 | +mode: "oauth", |
| 49 | +}, |
| 50 | +}, |
| 51 | +}); |
45 | 52 | |
46 | 53 | expect(resolveQaPreferredLiveModel()).toBe("openai/gpt-5.5"); |
47 | 54 | expect(defaultQaRuntimeModelForMode("live-frontier")).toBe("openai/gpt-5.5"); |
@@ -53,19 +60,20 @@ describe("qa model selection runtime", () => {
|
53 | 60 | }); |
54 | 61 | |
55 | 62 | it("keeps the OpenAI live default when stored OpenAI profiles are available", () => { |
56 | | -listProfilesForProvider.mockImplementation((_store: unknown, provider: string) => |
57 | | -provider === "openai" ? [`${provider}:user@example.com`] : [], |
58 | | -); |
| 63 | +loadAuthProfileStoreForRuntime.mockReturnValue({ |
| 64 | +profiles: { |
| 65 | +"openai:api-key": { |
| 66 | +provider: "openai", |
| 67 | +mode: "api_key", |
| 68 | +}, |
| 69 | +}, |
| 70 | +}); |
59 | 71 | |
60 | 72 | expect(resolveQaPreferredLiveModel()).toBeUndefined(); |
61 | 73 | expect(defaultQaRuntimeModelForMode("live-frontier")).toBe("openai/gpt-5.5"); |
62 | 74 | }); |
63 | 75 | |
64 | 76 | it("leaves mock defaults unchanged", () => { |
65 | | -listProfilesForProvider.mockImplementation((_store: unknown, provider: string) => |
66 | | -provider === "openai" ? ["openai:user@example.com"] : [], |
67 | | -); |
68 | | - |
69 | 77 | expect(defaultQaRuntimeModelForMode("mock-openai")).toBe("mock-openai/gpt-5.5"); |
70 | 78 | expect(defaultQaRuntimeModelForMode("mock-openai", { alternate: true })).toBe( |
71 | 79 | "mock-openai/gpt-5.5-alt", |
|