cookie-consent/src/cookie-schema.test.js
Pdn Technology 9a001197e1
Some checks are pending
CI / test (20) (push) Waiting to run
CI / test (22) (push) Waiting to run
Tema ayarları eklendi
2026-06-20 08:58:11 +03:00

62 lines
1.5 KiB
JavaScript

import { describe, expect, it } from "vitest";
import {
groupCookiesByCategory,
isValidCookieEntry,
normalizeCookieEntries,
} from "./cookie-schema.js";
describe("cookie-schema", () => {
it("validates cookie entries", () => {
expect(
isValidCookieEntry({
category: "analytics",
name: "_ga",
purpose: "Analytics",
duration: "2 years",
provider: "Google",
}),
).toBe(true);
expect(isValidCookieEntry({ category: "unknown", name: "_ga" })).toBe(false);
});
it("normalizes invalid entries out of the list", () => {
const cookies = normalizeCookieEntries([
{
category: "marketing",
name: "_fbp",
purpose: "Ads",
duration: "3 months",
provider: "Meta",
},
{ category: "invalid", name: "bad" },
]);
expect(cookies).toHaveLength(1);
expect(cookies[0].name).toBe("_fbp");
});
it("groups cookies by category", () => {
const grouped = groupCookiesByCategory([
{
category: "analytics",
name: "_ga",
purpose: "Analytics",
duration: "2 years",
provider: "Google",
},
{
category: "necessary",
name: "ccm_consent",
purpose: "Preferences",
duration: "1 year",
provider: "Site",
},
]);
expect(grouped.analytics).toHaveLength(1);
expect(grouped.necessary).toHaveLength(1);
expect(grouped.marketing).toHaveLength(0);
});
});