import test from "node:test"; import assert from "node:assert/strict"; import { dueDate, supplierKey } from "./supplier"; test("the same supplier typed two ways folds to one key", () => { assert.equal(supplierKey("Lube Force Traders cc"), supplierKey("LUBE FORCE TRADERS")); assert.equal(supplierKey("PERCA SERVICES (PTY) LTD"), supplierKey("Perca Services")); assert.equal(supplierKey("Hydra - Lab CC"), supplierKey("hydra lab")); }); test("different suppliers stay different", () => { assert.notEqual(supplierKey("Your Tyre Shop"), supplierKey("Tyre Shop")); assert.notEqual(supplierKey("Jose Electrical"), supplierKey("Jose Plumbing")); }); test("account purchases fall due PO date + terms; cash and unknown never do", () => { assert.equal(dueDate("2026-10-07", "30"), "2026-11-06"); assert.equal(dueDate("2026-10-07", "60"), "2026-12-06"); assert.equal(dueDate("2026-12-20", "30"), "2027-01-19"); assert.equal(dueDate("2026-10-07", "cash"), ""); assert.equal(dueDate("2026-10-07", ""), ""); assert.equal(dueDate("nonsense", "30"), ""); });