frequi_origin/tests/unit/formatters.spec.ts
2024-07-05 14:27:43 +02:00

29 lines
1.3 KiB
TypeScript

import { formatPercent, formatPrice, formatPriceCurrency } from '@/utils/formatters/numberformat';
import { describe, it, expect } from 'vitest';
describe('formatters.ts', () => {
it('Format percent correctly', () => {
expect(formatPercent(0.5)).toEqual('50.000%');
});
it('format price currency as expected', () => {
expect(formatPriceCurrency(5123.551123, 'USDT', 3)).toEqual('5123.551 USDT');
expect(formatPriceCurrency(5123.551123, 'USDT')).toEqual('5123.551 USDT');
expect(formatPriceCurrency(5123.551123, 'USDT', 5)).toEqual('5123.55112 USDT');
expect(formatPriceCurrency(5123.551123000001, 'USDT', 5)).toEqual('5123.55112 USDT');
expect(formatPriceCurrency(0.00001, 'BTC', 5)).toEqual('0.00001 BTC');
});
it('Format price correctly', () => {
expect(formatPrice(5123.5123512)).toEqual('5123.5123512');
expect(formatPrice(5123.5123512, 8)).toEqual('5123.5123512');
expect(formatPrice(5123.5123512, 3)).toEqual('5123.512');
expect(formatPrice(5123.512000000001, 8)).toEqual('5123.512');
expect(formatPrice(0.001, 3)).toEqual('0.001');
expect(formatPrice(0.0019, 3)).toEqual('0.002');
expect(formatPrice(2.701e-9, 3)).toEqual('0');
expect(formatPrice(2.701e-9, 8)).toEqual('0');
expect(formatPrice(2.701e-9, 11)).toEqual('0.0000000027');
});
});