mega-plant/lib/supplier.test.ts

22 lines
1 KiB
TypeScript
Raw Permalink Normal View History

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"), "");
});