@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
text/typescript
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()
})
})