aboutsummaryrefslogtreecommitdiffstats
path: root/lib/auth.ts
blob: 30d5438b001dbb0998e7b1c44ed03e7b6973686f (plain) (blame) generated by cgit v1.2.3 (git 2.51.0) at 2026-11-13 21:12:17 +0000 "nx">stringify(r));}{ const r = spentInWindow({ ...conn, spentDate: '2026-09' }, [], T); check('a counter from last month does not', r.spent === 0 && r.left === 10000);}{ const spends = [ { connId: 'c1', amountSat: 500, feeSat: 2, ts: Date.UTC(2026, 9, 2) }, // this month, unabsorbed { connId: 'c1', amountSat: 400, feeSat: 0, ts: Date.UTC(2026, 9, 3), absorbed: true }, // already in the counter { connId: 'c1', amountSat: 900, feeSat: 0, ts: Date.UTC(2026, 8, 30) }, // last month { connId: 'c2', amountSat: 800, feeSat: 0, ts: Date.UTC(2026, 9, 5) }, // another connection ]; const r = spentInWindow(conn, spends, T); check('the worker adds only its own, unabsorbed spends from this window', r.spent === 3502, String(r.spent));}{ const r = spentInWindow({ id: 'c1', dailySat: 100, spentDate: '2026-10-14', spentToday: 80 }, [{ connId: 'c1', amountSat: 30, ts: T - 60_000 }], T); check('a day budget, over: left is 0 not negative', r.spent === 110 && r.left === 0);}console.log(fails ? `\n❌ ${fails} failure(s)` : '\n✅ budget windows behave');process.exit(fails ? 1 : 0);