Created new dropdown component to select relative or absolute date ranges

This commit is contained in:
Alejandro Celaya
2020-12-14 22:58:15 +01:00
parent 288f6e2cf8
commit 4e236a80de
13 changed files with 288 additions and 34 deletions

View File

@@ -0,0 +1,39 @@
import { shallow, ShallowWrapper } from 'enzyme';
import DateRangeRow from '../../../src/utils/dates/DateRangeRow';
import DateInput from '../../../src/utils/DateInput';
describe('<DateRangeRow />', () => {
let wrapper: ShallowWrapper;
const onEndDateChange = jest.fn();
const onStartDateChange = jest.fn();
beforeEach(() => {
wrapper = shallow(<DateRangeRow onEndDateChange={onEndDateChange} onStartDateChange={onStartDateChange} />);
});
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();
});
});