UNPKG

@yoroi/portfolio

Version:

The Portfolio package of Yoroi SDK

39 lines (38 loc) 1.83 kB
"use strict"; var _tokenBalance = require("../adapters/token-balance.mocks"); var _amountsCalculator = require("./amounts-calculator"); describe('AmountsCalculator', () => { const records = Object.fromEntries(_tokenBalance.tokenBalanceMocks.storage.entries1); it('should negate the amounts', () => { const amounts = (0, _amountsCalculator.AmountsCalcultor)(records).negate().build(); Object.entries(amounts).forEach(_ref => { let [_, amount] = _ref; expect(amount.quantity).toBeLessThanOrEqual(0n); }); }); it('should drop specified tokens', () => { const amounts = (0, _amountsCalculator.AmountsCalcultor)().plus(records).build(); expect(Object.keys(amounts)).toHaveLength(4); const newAmounts = (0, _amountsCalculator.AmountsCalcultor)(amounts).drop([ // primary does not exist in the storage _tokenBalance.tokenBalanceMocks.primaryETH.info.id, _tokenBalance.tokenBalanceMocks.nftCryptoKitty.info.id]).build(); expect(Object.keys(newAmounts)).toHaveLength(3); }); it('should add new amounts', () => { const amounts = (0, _amountsCalculator.AmountsCalcultor)(records).plus(records).build(); expect(Object.keys(amounts)).toHaveLength(4); Object.entries(amounts).forEach(_ref2 => { let [_, amount] = _ref2; expect(amount.quantity).toBe((records[amount.info.id]?.quantity ?? 0n) * 2n); }); }); it('should calculate the difference between two amounts', () => { const amounts = (0, _amountsCalculator.AmountsCalcultor)(records).minus(records).build(); expect(Object.keys(amounts)).toHaveLength(4); Object.entries(amounts).forEach(_ref3 => { let [_, amount] = _ref3; expect(amount.quantity).toBe((records[amount.info.id]?.quantity ?? 0n) * 0n); }); }); }); //# sourceMappingURL=amounts-calculator.test.js.map