Files
web/packages/common/dataCache/DistributedCache/generateCacheKey/index.test.ts
2025-06-30 14:17:49 +02:00

38 lines
1.1 KiB
TypeScript

import { beforeEach, describe, expect, it, vi } from "vitest"
vi.mock("./getPrefix", () => ({
getPrefix: vi.fn(() => "gitsha"),
}))
import { generateCacheKey } from "./index"
describe("generateCacheKey", () => {
beforeEach(() => {
vi.resetModules()
})
it("generates cachekey with prefix and key using string", () => {
expect(generateCacheKey("key1")).toBe("gitsha:key1")
})
it("generates cachekey with prefix and key using array", () => {
expect(generateCacheKey(["key1"])).toBe("gitsha:key1")
})
it("generates cachekey with prefix and keys", () => {
const actual = generateCacheKey(["key1", "key2"])
expect(actual).toBe("gitsha:key1_key2")
})
it("should throw an error if no keys are provided", () => {
expect(() => generateCacheKey([])).toThrow("No keys provided")
})
it("should throw an error if only invalid keys are provided", () => {
expect(() => generateCacheKey(["", undefined, null] as string[])).toThrow(
"No keys provided"
)
expect(() => generateCacheKey("")).toThrow("No keys provided")
})
})