Files
frontend-app-authoring/src/export-page/utils.test.js
2023-09-14 09:07:24 -04:00

52 lines
1.5 KiB
JavaScript

import Cookies from 'universal-cookie';
import moment from 'moment';
import { LAST_EXPORT_COOKIE_NAME } from './data/constants';
import { setExportCookie, getFormattedSuccessDate } from './utils';
global.window = Object.create(window);
Object.defineProperty(window, 'location', {
value: {
pathname: '/some-path',
},
});
describe('setExportCookie', () => {
it('should set the export cookie with the provided date and completed status', () => {
const cookiesSetMock = jest.spyOn(Cookies.prototype, 'set');
const date = '2023-07-24';
const completed = true;
setExportCookie(date, completed);
expect(cookiesSetMock).toHaveBeenCalledWith(
LAST_EXPORT_COOKIE_NAME,
{ date, completed },
{ path: '/some-path' },
);
cookiesSetMock.mockRestore();
});
});
describe('getFormattedSuccessDate', () => {
it('should return formatted success date with valid input', () => {
const mockCurrentUtcDate = moment.utc('2023-07-24T12:34:56');
const momentMock = jest.spyOn(moment, 'utc').mockReturnValue(mockCurrentUtcDate);
const unixDate = 1679787000;
const expectedFormattedDate = ' (01/20/1970 at 10:36 UTC)';
const result = getFormattedSuccessDate(unixDate);
expect(result).toBe(expectedFormattedDate);
momentMock.mockRestore();
});
it('should return null with null input', () => {
const unixDate = null;
const result = getFormattedSuccessDate(unixDate);
expect(result).toBeNull();
});
});