Skip to content

Commit

Permalink
update range demo & test
Browse files Browse the repository at this point in the history
  • Loading branch information
zombieJ committed Nov 27, 2019
1 parent 5c8ffa0 commit e7fed37
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 45 deletions.
1 change: 0 additions & 1 deletion examples/range.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ export default () => {
formatStrings?: string[],
) => {
console.log('Calendar Change:', newValue, formatStrings);
setValue(newValue);
};

const sharedProps = {
Expand Down
98 changes: 63 additions & 35 deletions tests/range.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,21 @@ import {
} from './util/commonUtil';

describe('Range', () => {
function matchValues(wrapper: Wrapper, value1: string, value2: string) {
expect(
wrapper
.find('input')
.first()
.props().value,
).toEqual(value1);
expect(
wrapper
.find('input')
.last()
.props().value,
).toEqual(value2);
}

beforeAll(() => {
MockDate.set(getMoment('1990-09-03 00:00:00').toDate());
});
Expand All @@ -18,21 +33,6 @@ describe('Range', () => {
});

describe('value', () => {
function matchValues(wrapper: Wrapper, value1: string, value2: string) {
expect(
wrapper
.find('input')
.first()
.props().value,
).toEqual(value1);
expect(
wrapper
.find('input')
.last()
.props().value,
).toEqual(value2);
}

it('defaultValue', () => {
const wrapper = mount(
<MomentRangePicker
Expand Down Expand Up @@ -104,30 +104,58 @@ describe('Range', () => {
'1990-09-14',
]);
});
});

it('exchanged value should re-order', () => {
const wrapper = mount(
<MomentRangePicker
defaultValue={[getMoment('1990-09-03'), getMoment('1989-11-28')]}
/>,
);
it('exchanged value should re-order', () => {
const wrapper = mount(
<MomentRangePicker
defaultValue={[getMoment('1990-09-03'), getMoment('1989-11-28')]}
/>,
);

matchValues(wrapper, '1989-11-28', '1990-09-03');
});
matchValues(wrapper, '1989-11-28', '1990-09-03');
});

it('Reset when startDate is after endDate', () => {
const onChange = jest.fn();
const wrapper = mount(<MomentRangePicker onChange={onChange} />);
it('Reset when startDate is after endDate', () => {
const onChange = jest.fn();
const wrapper = mount(<MomentRangePicker onChange={onChange} />);

wrapper.openPicker(1);
wrapper.selectCell(7, 1);
wrapper.closePicker(1);
wrapper.openPicker(1);
wrapper.selectCell(7, 1);
wrapper.closePicker(1);

wrapper.openPicker(0);
wrapper.selectCell(23, 0);
wrapper.closePicker(0);
expect(onChange).not.toHaveBeenCalled();
matchValues(wrapper, '1990-09-23', '');
});
wrapper.openPicker(0);
wrapper.selectCell(23, 0);
wrapper.closePicker(0);
expect(onChange).not.toHaveBeenCalled();
matchValues(wrapper, '1990-09-23', '');
});

it('allowEmpty', () => {
const onChange = jest.fn();
const wrapper = mount(
<MomentRangePicker
onChange={onChange}
allowEmpty={[false, true]}
allowClear
/>,
);

wrapper.openPicker();
wrapper.selectCell(11);
wrapper.closePicker();
expect(onChange).toHaveBeenCalledWith(
[expect.anything(), null],
['1990-09-11', ''],
);

wrapper.clearValue();
onChange.mockReset();

// Not allow empty with startDate
wrapper.openPicker(1);
wrapper.selectCell(23, 1);
wrapper.closePicker(1);
expect(onChange).not.toHaveBeenCalled();
});
});
7 changes: 5 additions & 2 deletions tests/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,11 @@ Object.assign(Enzyme.ReactWrapper.prototype, {
throw new Error('Cell not match in picker panel.');
}
},
clearValue() {
this.find('.rc-picker-clear-btn').simulate('click');
clearValue(index = 0) {
this.find('Picker')
.at(index)
.find('.rc-picker-clear-btn')
.simulate('click');
},
keyDown(which, info = {}) {
this.find('input').simulate('keydown', { ...info, which });
Expand Down
14 changes: 7 additions & 7 deletions tests/util/commonUtil.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export type Wrapper = ReactWrapper & {
closePicker: (index?: number) => void;
isOpen: () => boolean;
selectCell: (text: number | string, index?: number) => void;
clearValue: () => void;
clearValue: (index?: number) => void;
keyDown: (which: number, info?: object) => void;
};

Expand Down Expand Up @@ -110,9 +110,9 @@ export type MomentRangePickerProps =
| InjectDefaultProps<RangePickerTimeProps<Moment>>;

export const MomentRangePicker = (props: MomentRangePickerProps) => (
<RangePicker<Moment>
generateConfig={momentGenerateConfig}
locale={enUS}
{...props}
/>
);
<RangePicker<Moment>
generateConfig={momentGenerateConfig}
locale={enUS}
{...props}
/>
);

1 comment on commit e7fed37

@vercel
Copy link

@vercel vercel bot commented on e7fed37 Nov 27, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.