npm test runs node:test on the TypeScript sources with Node's type stripping
(Node 22.14 in the image, Node 24 locally), with no dependencies.
Node, unlike tsc, does not resolve extensionless relative imports. TypeScript
5.2 cannot emit .ts import extensions. tests/unit/support therefore registers
a small resolve hook that appends ".ts" for imports from .ts files.
- pricing, paypal-order, log-format: characterization tests of the current
output.
- The known defects of
libretech/mp#67 are tests of the correct
behaviour, marked todo: null, two-line and price-null addresses and
deliveries, a deleted product, the payment surcharge missing from the
breakdown, and in the log line circular JSON, the Basic credentials of an
axios error, and an Error rendered as {}.
- That the breakdown adds up to the amount holds today, including for the
subtotals closest to a half cent, so that test is a regular one.
Refs libretech/mp#71