UNPKG

@ministryofjustice/hmpps-digital-prison-reporting-frontend

Version:

The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.

138 lines (105 loc) 3.82 kB
import DateMapper from './DateMapper' const dateMapper = new DateMapper() describe('getDateType', () => { it('Iso Date', () => { expect(dateMapper.getDateType('2001-02-03')).toEqual('iso') }) it('Local Date', () => { expect(dateMapper.getDateType('01/02/2003')).toEqual('local-date') }) it('Local Date Short Year', () => { expect(dateMapper.getDateType('01/02/03')).toEqual('local-date-short-year') }) it('Local Date Time', () => { expect(dateMapper.getDateType('01/02/2003 04:05')).toEqual('local-datetime') }) it('Local Date Time Short Year', () => { expect(dateMapper.getDateType('01/02/03 04:05')).toEqual('local-datetime-short-year') }) it('No value', () => { expect(dateMapper.getDateType(null)).toEqual('none') }) it('Non-date value', () => { expect(dateMapper.getDateType('Not a date')).toEqual('none') }) it('Not a matchable string', () => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore expect(dateMapper.getDateType(0)).toEqual('none') }) }) describe('getDateWrapper', () => { it('Iso Date', () => { expect(dateMapper.getDateWrapper('2001-02-03').format('YYYY-MM-DD')).toEqual('2001-02-03') }) it('Local Date', () => { expect(dateMapper.getDateWrapper('01/02/2003').format('YYYY-MM-DD')).toEqual('2003-02-01') }) it('Picker Local Date', () => { expect(dateMapper.getDateWrapper('1/2/2003').format('YYYY-MM-DD')).toEqual('2003-02-01') }) it('Local Date Short Year', () => { expect(dateMapper.getDateWrapper('01/02/03').format('YYYY-MM-DD')).toEqual('2003-02-01') }) it('Local Date Time', () => { expect(dateMapper.getDateWrapper('01/02/2003 04:05').format('YYYY-MM-DD')).toEqual('2003-02-01') }) it('Local Date Time Short Year', () => { expect(dateMapper.getDateWrapper('01/02/03 04:05').format('YYYY-MM-DD')).toEqual('2003-02-01') }) it('No value', () => { expect(dateMapper.getDateWrapper(null)).toBeNull() }) it('Non-date value', () => { expect(dateMapper.getDateWrapper('Not a date')).toBeNull() }) }) describe('isDate', () => { it('Iso Date', () => { expect(dateMapper.isDate('2001-02-03')).toEqual(true) }) it('Local Date', () => { expect(dateMapper.isDate('01/02/2003')).toEqual(true) }) it('Local Date Short Year', () => { expect(dateMapper.isDate('01/02/03')).toEqual(true) }) it('Local Date Time', () => { expect(dateMapper.isDate('01/02/2003 04:05')).toEqual(true) }) it('Local Date Time Short Year', () => { expect(dateMapper.isDate('01/02/03 04:05')).toEqual(true) }) it('No value', () => { expect(dateMapper.isDate(null)).toEqual(false) }) it('Non-date value', () => { expect(dateMapper.isDate('Not a date')).toEqual(false) }) }) describe('toDateString', () => { it('Iso Date', () => { expect(dateMapper.toDateString('2001-02-03', 'iso')).toEqual('2001-02-03') }) it('Local Date', () => { expect(dateMapper.toDateString('2001-02-03', 'local-date')).toEqual('03/02/2001') }) it('Local Date Short Year', () => { expect(dateMapper.toDateString('2001-02-03', 'local-date-short-year')).toEqual('03/02/01') }) it('Local Date Time', () => { expect(dateMapper.toDateString('2001-02-03T04:05:06Z', 'local-datetime')).toEqual('03/02/2001 04:05') }) it('Local Date Time Short Year', () => { expect(dateMapper.toDateString('2001-02-03T04:05:06Z', 'local-datetime-short-year')).toEqual('03/02/01 04:05') }) it('No value', () => { expect(dateMapper.toDateString(null, 'iso')).toBeNull() }) it('Non-date value', () => { expect(dateMapper.toDateString('Not a date', 'iso')).toBeNull() }) it('Invalid type', () => { expect(dateMapper.toDateString('2001-02-03T04:05:06Z', 'none')).toBeNull() }) })