Created test for Time component

This commit is contained in:
Alejandro Celaya 2021-06-25 20:05:06 +02:00
parent 3999d14bab
commit fb1ced5e3f
2 changed files with 31 additions and 1 deletions

View file

@ -1,7 +1,7 @@
import { parseISO, format as formatDate, getUnixTime, formatDistance } from 'date-fns';
import { isDateObject } from './helpers/date';
interface DateProps {
export interface DateProps {
date: Date | string;
format?: string;
relative?: boolean;

30
test/utils/Time.test.tsx Normal file
View file

@ -0,0 +1,30 @@
import { shallow, ShallowWrapper } from 'enzyme';
import { DateProps, Time } from '../../src/utils/Time';
import { parseDate } from '../../src/utils/helpers/date';
describe('<Time />', () => {
let wrapper: ShallowWrapper;
const createWrapper = (props: DateProps) => {
wrapper = shallow(<Time {...props} />);
return wrapper;
};
afterEach(() => wrapper?.unmount());
it.each([
[{ date: parseDate('2020-05-05', 'yyyy-MM-dd') }, '1588636800000', '2020-05-05 00:00' ],
[{ date: parseDate('2021-03-20', 'yyyy-MM-dd'), format: 'dd/MM/yyyy' }, '1616198400000', '20/03/2021' ],
])('includes expected dateTime and format', (props, expectedDateTime, expectedFormatted) => {
const wrapper = createWrapper(props);
expect(wrapper.prop('dateTime')).toEqual(expectedDateTime);
expect(wrapper.prop('children')).toEqual(expectedFormatted);
});
it('renders relative times when requested', () => {
const wrapper = createWrapper({ date: new Date(), relative: true });
expect(wrapper.prop('children')).toContain(' ago');
});
});