Rhys Sullivanfmtc92c57d6 months agoHistory
28 lines · 1.1 KB · TypeScript
RawDownload
import { describe, expect, it } from "@effect/vitest"; import { getUniqueSecretId, isSecretIdTaken, slugifyForSecretId } from "./secret-id"; describe("secret id helpers", () => {  it("slugifies display names into secret ids", () => {    expect(slugifyForSecretId("GitHub PAT")).toBe("github-pat");    expect(slugifyForSecretId("  Client Secret  ")).toBe("client-secret");  });   it("returns the base id when it is unused", () => {    expect(getUniqueSecretId("GitHub PAT", ["openai-api-key"])).toBe("github-pat");  });   it("appends a numeric suffix when the base id already exists", () => {    expect(getUniqueSecretId("GitHub PAT", ["github-pat"])).toBe("github-pat-2");    expect(getUniqueSecretId("GitHub PAT", ["github-pat", "github-pat-2"])).toBe("github-pat-3");  });   it("matches existing ids exactly after trimming", () => {    expect(isSecretIdTaken("github-pat", [" github-pat "])).toBe(true);    expect(isSecretIdTaken("github-pat", ["github-pat-2"])).toBe(false);  });   it("allows an empty fallback for flows that should start blank", () => {    expect(getUniqueSecretId("", [], "")).toBe("");  });});