import {parseTimestamp} from "./time"; import moment from "moment"; const TIMESTAMP_INVALID_STRING = "2020-01-02T42:99:23.000Z"; const TIMESTAMP_VALID_STRING = "2020-01-02T12:34:56.000Z"; test('parseTimestamp() should fail parsing non-string timestamp', () => { // given const timestamp = {}; // when const parsedTimestamp = parseTimestamp(timestamp); // then expect(parsedTimestamp).toEqual(null); }); test('parseTimestamp() should fail parsing empty timestamp string', () => { // given const timestamp = ""; // when const parsedTimestamp = parseTimestamp(timestamp); // then expect(parsedTimestamp).toEqual(null); }); test('parseTimestamp() should fail parsing invalid timestamp string', () => { // given // noinspection UnnecessaryLocalVariableJS const timestamp = TIMESTAMP_INVALID_STRING; // when const parsedTimestamp = parseTimestamp(timestamp); // then expect(parsedTimestamp).toEqual(null); }); test('parseTimestamp() should succeed parsing valid timestamp string', () => { // given const timestamp = TIMESTAMP_VALID_STRING; // when const parsedTimestamp = parseTimestamp(timestamp); // then if (parsedTimestamp === null) { fail('timestamp should not be null'); } expect(moment.unix(parsedTimestamp).toISOString()).toEqual(timestamp); });