import { shallow, ShallowWrapper } from 'enzyme'; import { DateRangeRow } from '../../../src/utils/dates/DateRangeRow'; import { DateInput } from '../../../src/utils/DateInput'; describe('', () => { let wrapper: ShallowWrapper; const onEndDateChange = jest.fn(); const onStartDateChange = jest.fn(); beforeEach(() => { wrapper = shallow(); }); afterEach(() => { wrapper.unmount(); jest.clearAllMocks(); }); it('renders two date inputs', () => { const dateInput = wrapper.find(DateInput); expect(dateInput).toHaveLength(2); }); it('invokes start date callback when change event is triggered on first input', () => { const dateInput = wrapper.find(DateInput).first(); expect(onStartDateChange).not.toHaveBeenCalled(); dateInput.simulate('change'); expect(onStartDateChange).toHaveBeenCalled(); }); it('invokes end date callback when change event is triggered on second input', () => { const dateInput = wrapper.find(DateInput).last(); expect(onEndDateChange).not.toHaveBeenCalled(); dateInput.simulate('change'); expect(onEndDateChange).toHaveBeenCalled(); }); });