docbrown/app/javascript/shared/components/__tests__/dateTime.test.jsx
Rafi ea74a3d390
Using global util function for displaying date in listing dashboard (#10244)
* Common date util function for listing dashboard

* Making dateTime required

* Fixing typo

* Fixing tests

* Fixing deletion of function in globalThis
2020-09-09 09:35:05 +02:00

42 lines
1.2 KiB
JavaScript

import { h } from 'preact';
import { axe } from 'jest-axe';
import { render } from '@testing-library/preact';
import '@testing-library/jest-dom';
import DateTime from '../dateTime';
import '../../../../assets/javascripts/utilities/localDateTime';
/* eslint-disable no-unused-vars */
/* global globalThis timestampToLocalDateTimeLong timestampToLocalDateTimeShort */
describe('<DateTime />', () => {
it('should have no a11y violations', async () => {
afterAll(() => {
delete globalThis.timestampToLocalDateTimeLong;
delete globalThis.timestampToLocalDateTimeShort;
});
const { container } = render(
<DateTime
className={'date-time'}
dateTime={new Date('2019-09-20T17:26:20.531Z')}
/>,
);
const results = await axe(container);
expect(results).toHaveNoViolations();
});
it('should render given datetime', () => {
const { getByText } = render(
<DateTime
className={'date-time'}
dateTime={new Date('2019-09-10T17:26:20.531Z')}
/>,
);
const dateTime = getByText('Sep 10, 2019');
expect(dateTime.title).toBe('Tuesday, September 10, 2019, 5:26:20 PM');
expect(dateTime).toHaveClass('date-time');
});
});