ant-design/components/date-picker/__tests__/RangePicker.test.js

79 lines
2.5 KiB
JavaScript
Raw Normal View History

import React from 'react';
import { mount, render } from 'enzyme';
import moment from 'moment';
import { RangePicker } from '../';
describe('RangePicker', () => {
it('show month panel according to value', () => {
2017-04-01 14:43:36 +08:00
const birthday = moment('2000-01-01', 'YYYY-MM-DD').locale('zh-cn');
const wrapper = mount(
<RangePicker
getCalendarContainer={trigger => trigger}
format="YYYY/MM/DD"
2017-05-15 12:03:02 +08:00
showTime
open
/>
);
wrapper.setProps({ value: [birthday, birthday] });
2017-04-02 18:09:23 +08:00
expect(render(wrapper.find('Trigger').node.getComponent()))
.toMatchSnapshot();
});
it('switch to corresponding month panel when click presetted ranges', () => {
2017-04-01 14:43:36 +08:00
const birthday = moment('2000-01-01', 'YYYY-MM-DD').locale('zh-cn');
const wrapper = mount(
<RangePicker
ranges={{
'My Birthday': [birthday, birthday],
}}
getCalendarContainer={trigger => trigger}
format="YYYY/MM/DD"
2017-05-15 12:03:02 +08:00
showTime
open
/>
);
const rangeCalendarWrapper = mount(wrapper.find('Trigger').node.getComponent());
rangeCalendarWrapper.find('.ant-calendar-range-quick-selector a')
.simulate('click');
2017-04-02 18:09:23 +08:00
expect(render(wrapper.find('Trigger').node.getComponent()))
.toMatchSnapshot();
});
it('highlight range when hover presetted range', () => {
const wrapper = mount(
<RangePicker
ranges={{
2017-05-31 10:59:27 +08:00
'This Month': [moment().startOf('month'), moment().endOf('month')],
}}
getCalendarContainer={trigger => trigger}
format="YYYY/MM/DD"
open
/>
);
let rangeCalendarWrapper = mount(wrapper.find('Trigger').node.getComponent());
rangeCalendarWrapper.find('.ant-calendar-range-quick-selector a')
.simulate('mouseEnter');
rangeCalendarWrapper = mount(wrapper.find('Trigger').node.getComponent());
expect(rangeCalendarWrapper.find('.ant-calendar-selected-day').length).toBe(2);
});
// issue: https://github.com/ant-design/ant-design/issues/5872
it('should not throw error when value is reset to `[]`', () => {
const birthday = moment('2000-01-01', 'YYYY-MM-DD');
const wrapper = mount(
<RangePicker
getCalendarContainer={trigger => trigger}
value={[birthday, birthday]}
open
/>
);
wrapper.setProps({ value: [] });
const rangeCalendarWrapper = mount(wrapper.find('Trigger').node.getComponent());
2017-05-29 16:19:59 +08:00
expect(() => rangeCalendarWrapper.find('.ant-calendar-today').at(0).simulate('click').simulate('click'))
.not.toThrow();
});
});