mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 19:51:17 +00:00
30 lines
1 KiB
TypeScript
30 lines
1 KiB
TypeScript
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();
|
|
});
|
|
});
|