import { formatNumber } from "./formatNumber"; describe("formatMoney", () => { test("must return empty string", () => { expect(formatNumber(0, { zeroAsBlank: true })).toBe(""); expect(formatNumber("0", { zeroAsBlank: true })).toBe(""); expect(formatNumber(null)).toBe(""); expect(formatNumber(undefined)).toBe(""); expect(formatNumber("")).toBe(""); }); test("must return zero", () => { expect(formatNumber(0)).toBe("0.00"); expect(formatNumber(0, { decimalPlaces: 0 })).toBe("0"); expect(formatNumber("0", { decimalSeparator: "," })).toBe("0,00"); }); test("must return correct values", () => { expect(formatNumber(0.1)).toBe("0.10"); expect(formatNumber(1000222.1, { decimalPlaces: 4 })).toBe( "1,000,222.1000", ); expect(formatNumber(-1000222.1, { currencySymbol: "$" })).toBe( "($1,000,222.10)", ); expect( formatNumber(-1000222.1, { decimalSeparator: ",", decimalPlaces: 3, thousandsSeparator: ".", currencySymbol: "$", }), ).toBe("($1.000.222,100)"); expect(formatNumber("1500.02")).toBe("1,500.02"); expect(formatNumber("1700500.02")).toBe("1,700,500.02"); expect(formatNumber("-1700500.02")).toBe("(1,700,500.02)"); }); test("must return add class name", () => { expect( formatNumber(5, { negativeClass: "neg", positiveClass: "pos" }), ).toBe('5.00'); expect( formatNumber(-5, { negativeClass: "neg", positiveClass: "pos" }), ).toBe('(5.00)'); expect( formatNumber(-5, { negativeClass: "neg", noHTML: true, positiveClass: "pos", }), ).toBe("(5.00)"); }); });