UNPKG

invoices

Version:

Methods for working with BOLT 11 payment requests

64 lines (58 loc) 1.52 kB
const strictSame = require('node:assert').strict.deepStrictEqual; const test = require('node:test'); const {throws} = require('node:assert').strict; const mtokensAsHrp = require('./../../bolt11/mtokens_as_hrp'); const tests = [ { args: {mtokens: '1'}, description: 'The smallest possible', expected: '10p', }, { args: {mtokens: '10'}, description: 'Test smaller than a nano', expected: '100p', }, { args: {mtokens: '100'}, description: 'Test smaller than a token', expected: '1n', }, { args: {mtokens: '1000'}, description: 'Test nano tokens', expected: '10n', }, { args: {mtokens: '10000'}, description: 'Test more nano', expected: '100n', }, { args: {mtokens: '100000'}, description: 'Test micro', expected: '1u', }, { args: {mtokens: '100000000'}, description: 'Test milli', expected: '1m', }, { args: {mtokens: '100000000000'}, description: 'Test btc', expected: '1', }, { args: {mtokens: '123456789000'}, description: 'Test extended nano', expected: '1234567890n', }, { args: {mtokens: '123450000000'}, description: 'Test extended micro', expected: '1234500u', }, { args: {mtokens: '123400000000'}, description: 'Test extended milli', expected: '1234m', }, ]; tests.forEach(({args, description, expected}) => { return test(description, (t, end) => { const {hrp} = mtokensAsHrp(args); strictSame(hrp, expected, 'Hrp derived from mtokens'); return end(); }); });