import { DATA_FORMAT } from '../constants/data-format'; import { formatReportCell, formatReportRow } from './report-cell.formatter'; describe('report cell formatter', () => { it('formats currency null as zero', () => { expect(formatReportCell(null, DATA_FORMAT.CURRENCY)).toBe('0.0000'); }); it('formats boolean yes/no', () => { expect(formatReportCell(true, DATA_FORMAT.BOOLEAN)).toBe('Yes'); expect(formatReportCell(0, DATA_FORMAT.BOOLEAN)).toBe('No'); }); it('formats uppercase text', () => { expect(formatReportCell('draft', DATA_FORMAT.TEXT_UPPERCASE)).toBe('DRAFT'); }); it('formats row by column config', () => { const row = formatReportRow( { main__status: 'active', main__amount: '10.5' }, [ { column: 'main__status', query: 'main.status', label: 'Status', type: 'dimension', format: DATA_FORMAT.TEXT_UPPERCASE, }, { column: 'main__amount', query: 'main.amount', label: 'Amount', type: 'measure', format: DATA_FORMAT.CURRENCY, }, ], ); expect(row.main__status).toBe('ACTIVE'); expect(row.main__amount).toBe('10.5000'); }); });