@yoroi/portfolio
Version:
The Portfolio package of Yoroi SDK
107 lines (106 loc) • 3.31 kB
JavaScript
;
var _amountFormatter = require("./amount-formatter");
var _tokenBalance = require("../adapters/token-balance.mocks");
describe('amountFormatter', () => {
const format = {
decimalSeparator: `'`,
groupSeparator: ' ',
fractionGroupSeparator: ' ',
groupSize: 3,
fractionGroupSize: 3
};
it.each`
options | input | expected
${{
template: '{{symbol}} {{value}} {{ticker}}'
}} | ${_tokenBalance.tokenBalanceMocks.primaryETH} | ${'Ξ 0.000000000001000000 ETH'}
${{
template: '{{ticker}} {{value}} {{symbol}}'
}} | ${_tokenBalance.tokenBalanceMocks.primaryETH} | ${'ETH 0.000000000001000000 Ξ'}
${undefined} | ${_tokenBalance.tokenBalanceMocks.primaryETH} | ${'0.000000000001000000'}
${{
dropTraillingZeros: true
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 10
},
quantity: 123456000000n
}} | ${'12.3456'}
${{
dropTraillingZeros: true
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 10
},
quantity: 123456000100n
}} | ${'12.34560001'}
${{}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 10
},
quantity: 123456000000n
}} | ${'12.3456000000'}
${{}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 10
},
quantity: 123456789123456n
}} | ${'12,345.6789123456'}
${{
format
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 2
},
quantity: 123456789n
}} | ${`1 234 567'89`}
${{
dropTraillingZeros: true
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 0
},
quantity: 10n
}} | ${'10'}
${{
dropTraillingZeros: true
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 6
},
quantity: 1_000_000n
}} | ${'1'}
${{}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 6
},
quantity: 1_000_000n
}} | ${'1.000000'}
${{
dropTraillingZeros: true
}} | ${{
info: {
..._tokenBalance.tokenBalanceMocks.primaryETH.info,
decimals: 1
},
quantity: 0n
}} | ${'0'}
`('formats correctly with options $options', _ref => {
let {
options,
input,
expected
} = _ref;
const formattedBalance = (0, _amountFormatter.amountFormatter)(options)(input);
expect(formattedBalance).toBe(expected);
});
});
//# sourceMappingURL=amount-formatter.test.js.map