UNPKG

paid-services

Version:
61 lines (52 loc) 1.5 kB
const {deepStrictEqual, strictEqual, throws} = require('node:assert/strict'); const {test} = require('node:test'); const method = require('./../../p2p/encode_peer_request'); const makeArgs = overrides => { const args = {id: '00', type: '0'}; Object.keys(overrides).forEach(k => args[k] = overrides[k]); return args; }; const tests = [ { args: makeArgs({id: undefined}), description: 'A request id is required', error: 'ExpectedRequestIdHexStringToEncodePeerRequest', }, { args: makeArgs({records: '00'}), description: 'Records array is required', error: 'ExpectedRecordsArrayToEncodePeerRequest', }, { args: makeArgs({type: undefined}), description: 'A type is required', error: 'ExpectedRequestTypeToEncodePeerRequest', }, { args: makeArgs({}), description: 'Peer request is encoded', expected: {message: '626f73ff010100030100'}, }, { args: makeArgs({records: [{type: '0', value: '00'}]}), description: 'Peer request with records is encoded', expected: {message: '626f73ff0101000301000503000100'}, }, ]; tests.forEach(({args, description, error, expected}) => { test(description, () => { if (!!error) { throws( () => method(args), err => { strictEqual(err.message, error, 'Got error'); return true; }, 'Got error' ); } else { const res = method(args); deepStrictEqual(res, expected, 'Got expected result'); } }); });