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'); }); });