← back to Open Seo
src/client/features/billing/HostedBillingContentUtils.test.ts
23 lines
import { describe, expect, it } from "vitest";
import { parseTopUpAmount } from "./HostedBillingContentUtils";
describe("parseTopUpAmount", () => {
it("accepts valid whole-dollar amounts", () => {
expect(parseTopUpAmount("20")).toEqual({ isValid: true, parsed: 20 });
expect(parseTopUpAmount("10")).toEqual({ isValid: true, parsed: 10 });
expect(parseTopUpAmount("99")).toEqual({ isValid: true, parsed: 99 });
});
it("rejects amounts below minimum", () => {
expect(parseTopUpAmount("9")).toEqual({ isValid: false, parsed: 20 });
});
it("rejects amounts above maximum", () => {
expect(parseTopUpAmount("100")).toEqual({ isValid: false, parsed: 20 });
});
it("rejects non-numeric input", () => {
expect(parseTopUpAmount("abc")).toEqual({ isValid: false, parsed: 20 });
});
});