Files
backend/src/tbank/decimal.spec.ts
T
ksv741 e6f58ef0ee feat: add manual bank card ledger
Store exact RUB balances, atomic transfers, linked refunds and versioned edits independently of T-Bank. Add migration, HTTP and durability verification.
2026-09-12 18:34:18 +03:00

24 lines
710 B
TypeScript

import { add, formatDecimal, multiply, subtract } from '../common/decimal';
import { decimal } from './decimal';
describe('decimal', () => {
it('keeps signed nanos exact without floats', () => {
expect(formatDecimal(decimal({ units: 0, nano: -500000000 }))).toBe('-0.5');
expect(
formatDecimal(
add(decimal({ units: '9007199254740993' }), decimal({ nano: 1 })),
),
).toBe('9007199254740993.000000001');
expect(
formatDecimal(
subtract(decimal({ units: 1 }), decimal({ nano: 500000000 })),
),
).toBe('0.5');
expect(
formatDecimal(
multiply(decimal({ units: 2 }), decimal({ nano: 500000000 })),
),
).toBe('1');
});
});