35 lines
1.8 KiB
JavaScript
35 lines
1.8 KiB
JavaScript
// Generated, do not edit. sha256:01bde5d75892fc5a6a8c97160161ea34bf3bdb955dc532c9061e112dd8b33d86
|
|||
|
|
import { describe, it } from 'node:test';
|
||
|
|
import assert from 'node:assert/strict';
|
||
|
|
|
||
|
|
import { bulkPlan, bulkCounts } from '../../client/actions/reconcile-bulk.js';
|
||
|
|
|
||
|
|
const ln = (id, extra = {}) => ({ id, tx_layer: 'lightning', tx_kind: null, transactionHash: `hash-${id}`, direction: 'out', ...extra });
|
||
|
|
|
||
|
|
describe('bulkPlan', () => {
|
||
|
|
it('een gewone lightning-betaling wordt een aankoop of verkoop', () => {
|
||
|
|
assert.deepEqual(bulkPlan([ln(1), ln(2, { direction: 'in' })]).map(s => s.action), ['trade', 'trade']);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('een betaling aan uzelf en een kanaal (ook on-chain) blijven binnen het account', () => {
|
||
|
|
const plan = bulkPlan([ln(1, { tx_kind: 'self' }), { id: 2, tx_layer: 'onchain', tx_kind: 'channel', transactionHash: 'ab' }]);
|
||
|
|
assert.deepEqual(plan.map(s => s.action), ['internal', 'internal']);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('een forward wordt rente, en een on-chain txid die toevallig zo begint niet', () => {
|
||
|
|
const plan = bulkPlan([ln(1, { transactionHash: 'fwd:1:2:3', direction: 'in' }),
|
||
|
|
{ id: 2, tx_layer: 'onchain', tx_kind: null, transactionHash: 'fwd:x' }]);
|
||
|
|
assert.deepEqual(plan.map(s => [s.action, s.reason]), [['interest', undefined], ['skip', 'onchain']]);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('slaat een gewone on-chain beweging over, met de reden', () => {
|
||
|
|
const plan = bulkPlan([{ id: 2, tx_layer: 'onchain', tx_kind: null, transactionHash: 'ab' }]);
|
||
|
|
assert.deepEqual(plan.map(s => [s.action, s.reason]), [['skip', 'onchain']]);
|
||
|
|
});
|
||
|
|
|
||
|
|
it('telt per soort voor de bevestiging', () => {
|
||
|
|
const plan = bulkPlan([ln(1), ln(2), ln(3, { tx_kind: 'self' }), ln(4, { transactionHash: 'fwd:x' }),
|
||
|
|
{ id: 5, tx_layer: 'onchain', tx_kind: null }]);
|
||
|
|
assert.deepEqual(bulkCounts(plan), { internal: 1, interest: 1, trade: 2, onchain: 1 });
|
||
|
|
});
|
||
|
|
});
|