UNPKG

espend-rest

Version:

A RESTful API for submitting payments and monitoring accounts on the eSpend network.

203 lines (169 loc) 5.74 kB
var assert = require('assert'); var utils = require('../../api/lib/utils.js'); var addresses = require('./../fixtures/addresses.js'); suite('unit - utils.parseLedger()', function() { const DEFAULT_LEDGER = 'validated'; test('parseLedger() -- ledger (empty string)', function() { var ledger = ''; assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (void)', function() { var ledger = void(0); assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (hash)', function() { var ledger_hash = 'FD22E2A8D665A01711C0147173ECC0A32466BA976DE697E95197933311267BE8'; assert.strictEqual(utils.parseLedger(ledger_hash), ledger_hash); }); test('parseLedger() -- ledger (sequence)', function() { var ledger_sequence = '9592219'; assert.strictEqual(utils.parseLedger(ledger_sequence), 9592219); }); test('parseLedger() -- ledger (validated)', function() { var ledger = 'validated'; assert.strictEqual(utils.parseLedger(ledger), ledger); }); test('parseLedger() -- ledger (closed)', function() { var ledger = 'closed'; assert.strictEqual(utils.parseLedger(ledger), ledger); }); test('parseLedger() -- ledger (current)', function() { var ledger = 'current'; assert.strictEqual(utils.parseLedger(ledger), ledger); }); test('parseLedger() -- ledger (foo)', function() { var ledger = 'foo'; assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (negative number)', function() { var ledger = -1; assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (zero)', function() { var ledger = -1; assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (infinity)', function() { var ledger = -1; assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); test('parseLedger() -- ledger (invalid hash)', function() { var ledger = 'FD22E2A8D665A01711C0147173ECC0A32466BA976DE697E95197933311267BE'; assert.strictEqual(ledger.length, 63); assert.strictEqual(utils.parseLedger(ledger), DEFAULT_LEDGER); }); }); suite('unit - utils.parseCurrencyAmount()', function() { const nativeAmount = '1000000'; const usdAmount = { currency: 'USD', issuer: 'rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q', amount: '100' }; test('parseCurrencyAmount() -- XEC', function() { assert.deepEqual(utils.parseCurrencyAmount(nativeAmount), { currency: 'XEC', counterparty: '', value: utils.dropsToXrp(nativeAmount) }); }); test('parseCurrencyAmount() -- USD', function() { assert.deepEqual(utils.parseCurrencyAmount(usdAmount), { currency: usdAmount.currency, counterparty: usdAmount.issuer, value: usdAmount.value }); }); }); suite('unit - utils.parseCurrencyQuery()', function() { test('parseCurrencyQuery() -- value+XEC', function() { assert.deepEqual(utils.parseCurrencyQuery('123+XEC'), { value: '123', currency: 'XEC', counterparty: '' }); }); test('parseCurrencyQuery() -- XEC', function() { assert.deepEqual(utils.parseCurrencyQuery('XEC'), { currency: 'XEC', counterparty: '' }); }); test('parseCurrencyQuery() -- USD', function() { assert.deepEqual(utils.parseCurrencyQuery('USD'), { currency: 'USD', counterparty: '' }); }); test('parseCurrencyQuery() -- 123+USD', function() { assert.deepEqual(utils.parseCurrencyQuery('123+USD'), { value: '123', currency: 'USD', counterparty: '' }); }); test('parseCurrencyQuery() -- USD+counterparty', function() { assert.deepEqual(utils.parseCurrencyQuery('USD+' + addresses.VALID), { currency: 'USD', counterparty: addresses.VALID }); }); test('parseCurrencyQuery() -- 123+USD+counterparty', function() { assert.deepEqual(utils.parseCurrencyQuery('123+USD+' + addresses.VALID), { value: '123', currency: 'USD', counterparty: addresses.VALID }); }); test('parseCurrencyQuery() -- XEC+counterparty', function() { assert.deepEqual(utils.parseCurrencyQuery('XEC+' + addresses.VALID), { currency: 'XEC', counterparty: addresses.VALID }); }); test('parseCurrencyQuery() -- 123+XEC+counterparty', function() { assert.deepEqual(utils.parseCurrencyQuery('123+XEC+' + addresses.VALID), { value: '123', currency: 'XEC', counterparty: addresses.VALID }); }); test('parseCurrencyQuery() -- XEC+', function() { assert.deepEqual(utils.parseCurrencyQuery('XEC+'), { currency: 'XEC', counterparty: '' }); }); test('parseCurrencyQuery() -- 123+XEC+', function() { assert.deepEqual(utils.parseCurrencyQuery('123+XEC+'), { value: '123', currency: 'XEC', counterparty: '' }); }); test('parseCurrencyQuery() -- 123', function() { assert.deepEqual(utils.parseCurrencyQuery('123'), { value: '123', currency: '', counterparty: '' }); }); }); suite('unit - utils.txFromRestAmount()', function() { test('txFromRestAmount() -- XEC', function() { var amount = { value: '1', currency: 'XEC', counterparty: '' }; assert.strictEqual(utils.txFromRestAmount(amount), '1000000'); }); test('txFromRestAmount() -- USD', function() { var amount = { value: '1', currency: 'USD', counterparty: addresses.COUNTERPARTY }; assert.deepEqual(utils.txFromRestAmount(amount), { value: '1', currency: 'USD', issuer: addresses.COUNTERPARTY }); }); });