mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 20:41:16 +00:00
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { describe, it, expect, afterEach, vi } from "vitest";
|
|
import { getWebhookSecrets, onAccount } from "@/src/lib/stripe";
|
|
|
|
afterEach(() => {
|
|
vi.unstubAllEnvs();
|
|
});
|
|
|
|
describe("getWebhookSecrets", () => {
|
|
it("liefert Plattform- und Connect-Secret, wenn beide gesetzt sind", () => {
|
|
vi.stubEnv("STRIPE_WEBHOOK_SECRET", "whsec_platform");
|
|
vi.stubEnv("STRIPE_CONNECT_WEBHOOK_SECRET", "whsec_connect");
|
|
expect(getWebhookSecrets()).toEqual(["whsec_platform", "whsec_connect"]);
|
|
});
|
|
|
|
it("kommt lokal mit dem einen CLI-Secret aus", () => {
|
|
vi.stubEnv("STRIPE_WEBHOOK_SECRET", "whsec_cli");
|
|
vi.stubEnv("STRIPE_CONNECT_WEBHOOK_SECRET", "");
|
|
expect(getWebhookSecrets()).toEqual(["whsec_cli"]);
|
|
});
|
|
|
|
it("wirft, wenn kein Secret gesetzt ist", () => {
|
|
vi.stubEnv("STRIPE_WEBHOOK_SECRET", "");
|
|
vi.stubEnv("STRIPE_CONNECT_WEBHOOK_SECRET", " ");
|
|
expect(() => getWebhookSecrets()).toThrow("STRIPE_WEBHOOK_SECRET");
|
|
});
|
|
});
|
|
|
|
describe("onAccount", () => {
|
|
it("adressiert Direct Charges auf dem Studio-Account", () => {
|
|
expect(onAccount("acct_studio")).toEqual({ stripeAccount: "acct_studio" });
|
|
});
|
|
|
|
it("lässt Altbuchungen auf dem Plattformkonto", () => {
|
|
expect(onAccount(null)).toBeUndefined();
|
|
});
|
|
});
|