UNPKG

js-essential-kit

Version:

This library provides a comprehensive set of utility functions for various common tasks, including date calculations, formatting, masking, normalizing data, and validation

69 lines (53 loc) 1.76 kB
import { normalizeString } from '../lib/normalize' import { formatReal, formatRound, formatDecimal } from '../lib/formats' describe('formatReal', () => { test('Format number to BRL currency', () => { expect(normalizeString(formatReal(1234.56))).toEqual('R$ 1.234,56') }) test('Format string to BRL currency', () => { expect(normalizeString(formatReal('1234.56'))).toEqual('R$ 1.234,56') }) test('Handle undefined input', () => { expect(normalizeString(formatReal())).toEqual('R$ 0,00') }) test('Handle zero input', () => { expect(normalizeString(formatReal(0))).toEqual('R$ 0,00') }) test('Handle negative input', () => { expect(normalizeString(formatReal(-1234.56))).toEqual('-R$ 1.234,56') }) }) describe('formatRound', () => { test('Round a number', () => { expect(formatRound(4.567)).toBe(5) }) test('Round a number down', () => { expect(formatRound(4.3)).toBe(4) }) test('Handle special case of -1', () => { expect(formatRound(-1)).toBe(0) }) test('Round zero', () => { expect(formatRound(0)).toBe(0) }) test('Round negative number', () => { expect(formatRound(-4.567)).toBe(-5) }) }) describe('formatDecimal', () => { test('Format a number to two decimal places', () => { expect(formatDecimal(1234.56)).toBe('1234,56') }) test('Format a number with more than two decimal places', () => { expect(formatDecimal(1234.5678)).toBe('1234,57') }) test('Format a number with less than two decimal places', () => { expect(formatDecimal(1234.5)).toBe('1234,50') }) test('Handle special case of -1', () => { expect(formatDecimal(-1)).toBe('0,00') }) test('Handle zero input', () => { expect(formatDecimal(0)).toBe('0,00') }) })