Changeset View
Changeset View
Standalone View
Standalone View
cashtab/src/utils/__tests__/formatting.test.js
// Copyright (c) 2024 The Bitcoin developers | // Copyright (c) 2024 The Bitcoin developers | ||||
// Distributed under the MIT software license, see the accompanying | // Distributed under the MIT software license, see the accompanying | ||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php. | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | ||||
import { BN } from 'slp-mdm'; | import { BN } from 'slp-mdm'; | ||||
import { | import { | ||||
formatDate, | formatDate, | ||||
formatFiatBalance, | formatFiatBalance, | ||||
formatBalance, | formatBalance, | ||||
formatTokenBalance, | formatTokenBalance, | ||||
decimalizedTokenQtyToLocaleFormat, | |||||
} from 'utils/formatting'; | } from 'utils/formatting'; | ||||
import vectors from 'utils/fixtures/vectors'; | |||||
describe('Correctly executes formatting functions', () => { | describe('Correctly executes formatting functions', () => { | ||||
it(`test formatBalance with an input of 0`, () => { | it(`test formatBalance with an input of 0`, () => { | ||||
expect(formatBalance('0')).toBe('0'); | expect(formatBalance('0')).toBe('0'); | ||||
}); | }); | ||||
it(`test formatBalance with zero XEC balance input`, () => { | it(`test formatBalance with zero XEC balance input`, () => { | ||||
expect(formatBalance('0', 'en-US')).toBe('0'); | expect(formatBalance('0', 'en-US')).toBe('0'); | ||||
}); | }); | ||||
▲ Show 20 Lines • Show All 101 Lines • ▼ Show 20 Lines | describe('Correctly executes formatting functions', () => { | ||||
it(`returns undefined when passed invalid balance parameter`, () => { | it(`returns undefined when passed invalid balance parameter`, () => { | ||||
const testBalance = '100.000010122'; | const testBalance = '100.000010122'; | ||||
expect(formatTokenBalance(testBalance, 9)).toBe(undefined); | expect(formatTokenBalance(testBalance, 9)).toBe(undefined); | ||||
}); | }); | ||||
it(`maintains trailing zeros in balance per tokenDecimal parameter`, () => { | it(`maintains trailing zeros in balance per tokenDecimal parameter`, () => { | ||||
const testBalance = new BN(10000); | const testBalance = new BN(10000); | ||||
expect(formatTokenBalance(testBalance, 8)).toBe('10,000.00000000'); | expect(formatTokenBalance(testBalance, 8)).toBe('10,000.00000000'); | ||||
}); | }); | ||||
describe('We can format decimalized token strings for userLocale', () => { | |||||
const { expectedReturns } = vectors.decimalizedTokenQtyToLocaleFormat; | |||||
expectedReturns.forEach(vector => { | |||||
const { description, decimalizedTokenQty, userLocale, returned } = | |||||
vector; | |||||
it(`decimalizedTokenQtyToLocaleFormat: ${description}`, () => { | |||||
expect( | |||||
decimalizedTokenQtyToLocaleFormat( | |||||
decimalizedTokenQty, | |||||
userLocale, | |||||
), | |||||
).toBe(returned); | |||||
}); | |||||
}); | |||||
}); | |||||
}); | }); |