import { IdentityProvider } from "@calcom/prisma/enums"; import { describe, expect, it } from "vitest"; import { getIdentityProvider, NEXTAUTH_TO_IDENTITY_PROVIDER } from "./identityProviders"; describe("identityProviders", () => { describe("NEXTAUTH_TO_IDENTITY_PROVIDER", () => { it("contains exactly the expected mapping keys", () => { expect(Object.keys(NEXTAUTH_TO_IDENTITY_PROVIDER).sort()).toEqual( ["azure-ad", "cal", "google", "saml", "saml-idp"].sort() ); }); }); describe("getIdentityProvider", () => { it("maps 'azure-ad' to AZUREAD", () => { expect(getIdentityProvider("azure-ad")).toBe(IdentityProvider.AZUREAD); }); it("maps 'google' to GOOGLE", () => { expect(getIdentityProvider("google")).toBe(IdentityProvider.GOOGLE); }); it("maps 'saml' to SAML", () => { expect(getIdentityProvider("saml")).toBe(IdentityProvider.SAML); }); it("maps 'saml-idp' to SAML", () => { expect(getIdentityProvider("saml-idp")).toBe(IdentityProvider.SAML); }); it("maps 'cal' to CAL", () => { expect(getIdentityProvider("cal")).toBe(IdentityProvider.CAL); }); it("returns null for unknown provider", () => { expect(getIdentityProvider("unknown-provider")).toBeNull(); }); it("returns null for empty string", () => { expect(getIdentityProvider("")).toBeNull(); }); }); });