Changeset View
Changeset View
Standalone View
Standalone View
web/cashtab/src/utils/__tests__/validation.test.js
import { | import { | ||||
shouldRejectAmountInput, | shouldRejectAmountInput, | ||||
fiatToCrypto, | fiatToCrypto, | ||||
isValidTokenName, | isValidTokenName, | ||||
isValidTokenTicker, | isValidTokenTicker, | ||||
isValidTokenDecimals, | isValidTokenDecimals, | ||||
isValidTokenInitialQty, | isValidTokenInitialQty, | ||||
isValidTokenDocumentUrl, | isValidTokenDocumentUrl, | ||||
isValidTokenStats, | isValidTokenStats, | ||||
isValidCashtabSettings, | isValidCashtabSettings, | ||||
formatSavedBalance, | |||||
} from '../validation'; | } from '../validation'; | ||||
import { currency } from '@components/Common/Ticker.js'; | import { currency } from '@components/Common/Ticker.js'; | ||||
import { fromSmallestDenomination } from '@utils/cashMethods'; | import { fromSmallestDenomination } from '@utils/cashMethods'; | ||||
import { | import { | ||||
stStatsValid, | stStatsValid, | ||||
noCovidStatsValid, | noCovidStatsValid, | ||||
noCovidStatsInvalid, | noCovidStatsInvalid, | ||||
cGenStatsValid, | cGenStatsValid, | ||||
▲ Show 20 Lines • Show All 201 Lines • ▼ Show 20 Lines | describe('Validation utils', () => { | ||||
it(`Rejects a cashtab settings object for an unsupported currency`, () => { | it(`Rejects a cashtab settings object for an unsupported currency`, () => { | ||||
expect(isValidCashtabSettings({ fiatCurrency: 'xau' })).toBe(false); | expect(isValidCashtabSettings({ fiatCurrency: 'xau' })).toBe(false); | ||||
}); | }); | ||||
it(`Rejects a corrupted cashtab settings object for an unsupported currency`, () => { | it(`Rejects a corrupted cashtab settings object for an unsupported currency`, () => { | ||||
expect(isValidCashtabSettings({ fiatCurrencyWrongLabel: 'usd' })).toBe( | expect(isValidCashtabSettings({ fiatCurrencyWrongLabel: 'usd' })).toBe( | ||||
false, | false, | ||||
); | ); | ||||
}); | }); | ||||
it(`test formatSavedBalance with zero XEC balance input`, () => { | |||||
expect(formatSavedBalance('0')).toBe('0'); | |||||
}); | |||||
it(`test formatSavedBalance with a small XEC balance input with 2+ decimal figures`, () => { | |||||
expect(formatSavedBalance('1574.5445')).toBe('1,574.54'); | |||||
}); | |||||
it(`test formatSavedBalance with 1 Million XEC balance input`, () => { | |||||
expect(formatSavedBalance('1000000')).toBe('1,000,000'); | |||||
}); | |||||
it(`test formatSavedBalance with 1 Billion XEC balance input`, () => { | |||||
expect(formatSavedBalance('1000000000')).toBe('1,000,000,000'); | |||||
}); | |||||
it(`test formatSavedBalance with total supply as XEC balance input`, () => { | |||||
expect(formatSavedBalance('21000000000000')).toBe('21,000,000,000,000'); | |||||
}); | |||||
it(`test formatSavedBalance with > total supply as XEC balance input`, () => { | |||||
expect(formatSavedBalance('31000000000000')).toBe('31,000,000,000,000'); | |||||
}); | |||||
it(`test formatSavedBalance with no balance`, () => { | |||||
expect(formatSavedBalance('')).toBe('0'); | |||||
}); | |||||
it(`test formatSavedBalance with null input`, () => { | |||||
expect(formatSavedBalance(null)).toBe('N/A'); | |||||
}); | |||||
it(`test formatSavedBalance with undefined sw.state.balance or sw.state.balance.totalBalance as input`, () => { | |||||
expect(formatSavedBalance(undefined)).toBe('N/A'); | |||||
}); | |||||
it(`test formatSavedBalance with non-numeric input`, () => { | |||||
expect(formatSavedBalance('CainBCHA')).toBe('NaN'); | |||||
}); | |||||
}); | }); |