mirror of
https://github.com/Since-3/Kuma.git
synced 2026-10-12 20:41:16 +00:00
60 lines
1.7 KiB
TypeScript
60 lines
1.7 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import {
|
|
billingAddressFromCheckout,
|
|
formatBillingAddressLines,
|
|
readBillingAddress,
|
|
} from "@/src/lib/billing-address";
|
|
|
|
const details = {
|
|
name: "Erika Mustermann",
|
|
email: "erika@example.com",
|
|
address: {
|
|
line1: "Sandweg 91",
|
|
line2: null,
|
|
postal_code: "60316",
|
|
city: "Frankfurt",
|
|
country: "DE",
|
|
state: null,
|
|
},
|
|
};
|
|
|
|
describe("billingAddressFromCheckout", () => {
|
|
it("übernimmt Name und Anschrift aus dem Checkout", () => {
|
|
expect(billingAddressFromCheckout(details as never)).toEqual({
|
|
name: "Erika Mustermann",
|
|
line1: "Sandweg 91",
|
|
line2: null,
|
|
postalCode: "60316",
|
|
city: "Frankfurt",
|
|
country: "DE",
|
|
});
|
|
});
|
|
|
|
it("liefert null, wenn die Anschrift unvollständig ist", () => {
|
|
expect(
|
|
billingAddressFromCheckout({
|
|
...details,
|
|
address: { ...details.address, city: null },
|
|
} as never)
|
|
).toBeNull();
|
|
expect(billingAddressFromCheckout(null)).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe("readBillingAddress", () => {
|
|
it("verwirft gespeicherte Werte, denen Pflichtteile fehlen", () => {
|
|
expect(readBillingAddress({ line1: "Sandweg 91", city: "Frankfurt" })).toBeNull();
|
|
expect(readBillingAddress(null)).toBeNull();
|
|
expect(readBillingAddress("Sandweg 91")).toBeNull();
|
|
});
|
|
});
|
|
|
|
describe("formatBillingAddressLines", () => {
|
|
it("lässt Deutschland weg und nennt andere Länder", () => {
|
|
const de = billingAddressFromCheckout(details as never)!;
|
|
expect(formatBillingAddressLines(de)).toEqual(["Sandweg 91", "60316 Frankfurt"]);
|
|
expect(
|
|
formatBillingAddressLines({ ...de, country: "AT", postalCode: "1010", city: "Wien" })
|
|
).toEqual(["Sandweg 91", "1010 Wien", "Österreich"]);
|
|
});
|
|
});
|