import { describe, expect, it } from "vitest"; import { buildOpenAISetupProvider } from "./setup-api.js"; function authMethodIds(provider: ReturnType) { return provider.auth.map((method) => method.id); } describe("OpenAI setup auth provider", () => { it("offers ChatGPT login as the default OpenAI auth path while keeping API key explicit", () => { const provider = buildOpenAISetupProvider(); const oauth = provider.auth.find((method) => method.id === "oauth"); const apiKey = provider.auth.find((method) => method.id === "api-key"); expect(provider.id).toBe("openai"); expect(provider.aliases).toEqual(["openai-codex"]); expect(authMethodIds(provider)).toEqual(["oauth", "device-code", "api-key"]); expect(oauth?.label).toBe("ChatGPT Login"); expect(oauth?.wizard?.choiceId).toBe("openai"); expect(oauth?.wizard?.assistantVisibility).toBe("manual-only"); expect(apiKey?.label).toBe("OpenAI API Key"); expect(apiKey?.wizard?.choiceId).toBe("openai-api-key"); }); });