44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import {
|
|
getPaymentUrl,
|
|
getStripeClientSecret,
|
|
isEzpayPayment,
|
|
} from "../payment_launch";
|
|
|
|
describe("payment launch helpers", () => {
|
|
it("extracts supported redirect urls from payment params", () => {
|
|
expect(getPaymentUrl({ cashier_url: "https://pay.example/cashier" })).toBe(
|
|
"https://pay.example/cashier",
|
|
);
|
|
expect(getPaymentUrl({ checkoutUrl: "https://pay.example/checkout" })).toBe(
|
|
"https://pay.example/checkout",
|
|
);
|
|
expect(getPaymentUrl({ url: "" })).toBeNull();
|
|
});
|
|
|
|
it("detects ezpay provider case-insensitively", () => {
|
|
expect(isEzpayPayment({ provider: "ezpay" })).toBe(true);
|
|
expect(isEzpayPayment({ provider: "EZPAY" })).toBe(true);
|
|
expect(isEzpayPayment({ provider: "stripe" })).toBe(false);
|
|
});
|
|
|
|
it("extracts stripe client secrets only for stripe-like providers", () => {
|
|
expect(
|
|
getStripeClientSecret({
|
|
provider: "stripe",
|
|
clientSecret: "pi_secret",
|
|
}),
|
|
).toBe("pi_secret");
|
|
expect(getStripeClientSecret({ client_secret: "pi_secret_snake" })).toBe(
|
|
"pi_secret_snake",
|
|
);
|
|
expect(
|
|
getStripeClientSecret({
|
|
provider: "ezpay",
|
|
clientSecret: "pi_secret",
|
|
}),
|
|
).toBeNull();
|
|
});
|
|
});
|