twenty / packages /twenty-shared /src /utils /date /__tests__ /parseToInstantOrThrow.test.ts
Jules
Initial clean CRM deployment with prebuilt assets
d9494a5
Raw
History Blame Contribute Delete
1.01 kB
import { parseToInstantOrThrow } from '../parseToInstantOrThrow';
describe('parseToInstantOrThrow', () => {
it.each([
['2024-01-15T10:30:00Z', '2024-01-15T10:30:00Z'],
['2024-01-15T10:30:00.000Z', '2024-01-15T10:30:00Z'],
['2024-01-15T10:30:00+02:00', '2024-01-15T08:30:00Z'],
['2024-01-15T10:30:00', '2024-01-15T10:30:00Z'],
['2024-01-15 10:30:00', '2024-01-15T10:30:00Z'],
['2024-01-15 10:30', '2024-01-15T10:30:00Z'],
['2024-01-15', '2024-01-15T00:00:00Z'],
['20240115', '2024-01-15T00:00:00Z'],
['01/15/2024', '2024-01-15T00:00:00Z'],
['01-15-2024', '2024-01-15T00:00:00Z'],
['January 15, 2024', '2024-01-15T00:00:00Z'],
])('should parse %s to the instant %s', (input, expected) => {
expect(parseToInstantOrThrow(input).toString()).toBe(expected);
});
it.each([['2024'], ['2024-01'], ['not-a-date'], ['']])(
'should throw for the unparseable value %s',
(input) => {
expect(() => parseToInstantOrThrow(input)).toThrow();
},
);
});