import { afterEach, describe, expect, it } from "vitest"; import { isOidcConfigured } from "@/lib/auth/oidc"; describe("isOidcConfigured", () => { const keys = [ "AUTH_OIDC_ISSUER", "AUTH_OIDC_CLIENT_ID", "AUTH_OIDC_CLIENT_SECRET", ] as const; const previous: Record = {}; afterEach(() => { for (const key of keys) { if (previous[key] === undefined) delete process.env[key]; else process.env[key] = previous[key]; } }); function save() { for (const key of keys) previous[key] = process.env[key]; } it("is false when any var is missing", () => { save(); delete process.env.AUTH_OIDC_ISSUER; delete process.env.AUTH_OIDC_CLIENT_ID; delete process.env.AUTH_OIDC_CLIENT_SECRET; expect(isOidcConfigured()).toBe(false); process.env.AUTH_OIDC_ISSUER = "https://sso.example.com/"; process.env.AUTH_OIDC_CLIENT_ID = "id"; expect(isOidcConfigured()).toBe(false); }); it("is true when all three are set", () => { save(); process.env.AUTH_OIDC_ISSUER = "https://sso.example.com/"; process.env.AUTH_OIDC_CLIENT_ID = "id"; process.env.AUTH_OIDC_CLIENT_SECRET = "secret"; expect(isOidcConfigured()).toBe(true); }); });