import { describe, it, expect, beforeEach } from "vitest"; import { createUnsubscribeToken, verifyUnsubscribeToken, } from "@/src/modules/marketing/lib/unsubscribe-token"; beforeEach(() => { process.env.MARKETING_TOKEN_SECRET = "test-secret"; }); describe("Abmelde-Token", () => { it("liefert Kunde und Studio zurück", () => { const token = createUnsubscribeToken("user-1", "biz-1"); expect(verifyUnsubscribeToken(token)).toEqual({ userId: "user-1", businessId: "biz-1" }); }); it("lehnt veränderte Tokens ab", () => { const token = createUnsubscribeToken("user-1", "biz-1"); const forged = token.replace("user-1", "user-2"); expect(verifyUnsubscribeToken(forged)).toBeNull(); expect(verifyUnsubscribeToken("kaputt")).toBeNull(); expect(verifyUnsubscribeToken(null)).toBeNull(); }); it("lehnt Tokens mit anderem Secret ab", () => { const token = createUnsubscribeToken("user-1", "biz-1"); process.env.MARKETING_TOKEN_SECRET = "anderes-secret"; expect(verifyUnsubscribeToken(token)).toBeNull(); }); });