import { describe, expect, it } from "vitest"; import { composeAddress, pincodeError, splitLegacyAddress } from "./clientAddress"; describe("composeAddress", () => { it("joins lines and the city/state/pincode line", () => { expect( composeAddress({ line1: "12 MG Road", line2: "Floor 2", city: "Bengaluru", stateCode: "29", pincode: "560001" }), ).toBe("12 MG Road\nFloor 2\nBengaluru, Karnataka - 560001"); }); it("skips empty parts", () => { expect(composeAddress({ line1: " A ", line2: "", city: "", stateCode: "", pincode: "560001" })).toBe("A\n560001"); expect(composeAddress({ line1: "", line2: "", city: "Pune", stateCode: "", pincode: "" })).toBe("Pune"); expect(composeAddress({ line1: "", line2: "", city: "", stateCode: "29", pincode: "" })).toBe("Karnataka"); expect(composeAddress({ line1: "", line2: "", city: "", stateCode: "", pincode: "" })).toBe(""); }); }); describe("splitLegacyAddress", () => { it("puts the first line in line1 and the rest in line2", () => { expect(splitLegacyAddress("Old style\nfree text\r\nBangalore")).toEqual({ line1: "Old style", line2: "free text, Bangalore", }); expect(splitLegacyAddress("")).toEqual({ line1: "", line2: "" }); }); }); describe("pincodeError", () => { it("accepts empty and 6 digits only", () => { expect(pincodeError("")).toBeUndefined(); expect(pincodeError("560001")).toBeUndefined(); expect(pincodeError("56001")).toBeDefined(); expect(pincodeError("56000A")).toBeDefined(); }); });