UNPKG

invoices

Version:

Methods for working with BOLT 11 payment requests

44 lines (36 loc) 1.11 kB
const strictSame = require('node:assert').strict.deepStrictEqual; const test = require('node:test'); const {throws} = require('node:assert').strict; const decodePrefix = require('./../../bolt11/decode_prefix'); const makeArgs = overrides => { const args = {prefix: 'lnbc1p'}; Object.keys(overrides).forEach(k => args[k] = overrides[k]); return args; }; const tests = [ { args: makeArgs({prefix: 'prefix'}), description: 'A valid prefix is required', error: 'InvalidPaymentRequestPrefix', }, { args: makeArgs({prefix: 'lnzz'}), description: 'A known network prefix is required', error: 'UnknownCurrencyCodeInPaymentRequest', }, { args: makeArgs({}), description: 'A prefix is decoded', expected: {amount: '1', network: 'bitcoin', units: 'p'}, }, ]; tests.forEach(({args, description, error, expected}) => { return test(description, (t, end) => { if (!!error) { throws(() => decodePrefix(args), new Error(error), 'Got err'); } else { strictSame(decodePrefix(args), expected, 'Got expected details'); } return end(); }); });