e0c3f66040
The account upgrade modal has been updated to display prices according to the the user's price model. Previously, the modal displayed only the default prices which were incorrect for users with price overrides. Resolves storj/storj-private#187 Change-Id: I58206cc8ea7e7742a37f759a84dbb24ca40dd8eb
68 lines
2.3 KiB
TypeScript
68 lines
2.3 KiB
TypeScript
// Copyright (C) 2023 Storj Labs, Inc.
|
|
// See LICENSE for copying information.
|
|
|
|
import { decimalShift, formatPrice } from '@/utils/strings';
|
|
|
|
describe('decimalShift', (): void => {
|
|
it('handles empty strings', (): void => {
|
|
expect(decimalShift('', 0)).toBe('0');
|
|
expect(decimalShift('', 2)).toBe('0');
|
|
expect(decimalShift('', -2)).toBe('0');
|
|
});
|
|
|
|
it('shifts integers correctly', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
const decimal = sign+'123';
|
|
expect(decimalShift(decimal, 0)).toBe(sign+'123');
|
|
expect(decimalShift(decimal, 2)).toBe(sign+'1.23');
|
|
expect(decimalShift(decimal, 5)).toBe(sign+'0.00123');
|
|
expect(decimalShift(decimal, -2)).toBe(sign+'12300');
|
|
});
|
|
});
|
|
|
|
it('shifts decimals correctly', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
const decimal = sign+'1.23';
|
|
expect(decimalShift(decimal, 0)).toBe(sign+'1.23');
|
|
expect(decimalShift(decimal, -2)).toBe(sign+'123');
|
|
expect(decimalShift(decimal, 3)).toBe(sign+'0.00123');
|
|
expect(decimalShift(decimal, -4)).toBe(sign+'12300');
|
|
});
|
|
});
|
|
|
|
it('trims unnecessary characters', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
expect(decimalShift(sign+'0.0012300', -2)).toBe(sign+'0.123');
|
|
expect(decimalShift(sign+'12300', 2)).toBe(sign+'123');
|
|
expect(decimalShift(sign+'000.000', 1)).toBe('0');
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('formatPrice', (): void => {
|
|
it('handles empty strings', (): void => {
|
|
expect(formatPrice('')).toBe('$0');
|
|
});
|
|
|
|
it('formats correctly', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
expect(formatPrice(sign+'123')).toBe(sign+'$123');
|
|
expect(formatPrice(sign+'1.002')).toBe(sign+'$1.002');
|
|
});
|
|
});
|
|
|
|
it('adds zeros when necessary', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
expect(formatPrice(sign+'12.3')).toBe(sign+'$12.30');
|
|
expect(formatPrice(sign+'.123')).toBe(sign+'$0.123');
|
|
});
|
|
});
|
|
|
|
it('trims unnecessary characters', (): void => {
|
|
['', '-'].forEach(sign => {
|
|
expect(formatPrice(sign+'0.0')).toBe('$0');
|
|
expect(formatPrice(sign+'00123.00')).toBe(sign+'$123');
|
|
});
|
|
});
|
|
});
|