diff --git a/frontend/src/filters/amount.js b/frontend/src/filters/amount.js index 84d9388d3..ded1cceb7 100644 --- a/frontend/src/filters/amount.js +++ b/frontend/src/filters/amount.js @@ -12,6 +12,7 @@ const amount = (value) => { const GDD = (value) => { value = amount(value) + if (value === '') return '' if (!value.match(/^− /)) value = '+ ' + value return value + ' GDD' } diff --git a/frontend/src/filters/amount.test.js b/frontend/src/filters/amount.test.js new file mode 100644 index 000000000..65b507985 --- /dev/null +++ b/frontend/src/filters/amount.test.js @@ -0,0 +1,35 @@ +import { loadFilters } from './amount' + +const i18nMock = { + n: jest.fn((n) => n), +} + +const { amount, GDD } = loadFilters(i18nMock) + +describe('amount', () => { + it('returns empty string when called with null', () => { + expect(amount(null)).toBe('') + }) + + it('returns 0 when called with 0', () => { + expect(amount(0)).toBe('0') + }) + + it('returns a leading proper minus sign when called with negative value', () => { + expect(amount(-1)).toBe('− 1') + }) +}) + +describe('GDD', () => { + it('returns empty string when called with null', () => { + expect(GDD(null)).toBe('') + }) + + it('returns "+ 0 GDD" when called with 0', () => { + expect(GDD(0)).toBe('+ 0 GDD') + }) + + it('returns a leading proper minus sign when called with negative value', () => { + expect(GDD(-1)).toBe('− 1 GDD') + }) +})