Skip to content

Commit 97ca50a

Browse files
committed
test: Fix test case
1 parent d4eaec7 commit 97ca50a

File tree

6 files changed

+32
-8
lines changed

6 files changed

+32
-8
lines changed

src/Picker.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
159159
onMouseLeave,
160160
onContextMenu,
161161
onClick,
162+
onSelect,
162163
onOk,
163164
} = props as MergedPickerProps<DateType>;
164165

@@ -365,6 +366,14 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
365366
needConfirmButton,
366367
okDisabled: !selectedValue,
367368
locale,
369+
onNow: () => {
370+
const now = generateConfig.getNow();
371+
if (onSelect) {
372+
onSelect(now);
373+
}
374+
triggerChange(now);
375+
triggerOpen(false, true);
376+
},
368377
onOk: () => {
369378
if (selectedValue) {
370379
triggerChange(selectedValue);
@@ -397,7 +406,7 @@ function InnerPicker<DateType>(props: PickerProps<DateType>) {
397406
onChange={setSelectedValue}
398407
onPanelChange={triggerModeChange}
399408
/>
400-
<div className={`${prefixCls}-picker-footer`}>
409+
<div className={`${prefixCls}-footer`}>
401410
{extraNode}
402411
{rangesNode}
403412
</div>

tests/keyboard.spec.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ describe('Picker.Keyboard', () => {
145145

146146
describe('datetime Tab control', () => {
147147
it('Picker', () => {
148+
jest.useFakeTimers();
149+
148150
const wrapper = mount(<MomentPicker showTime />);
149151
wrapper.openPicker();
150152

@@ -162,7 +164,13 @@ describe('Picker.Keyboard', () => {
162164

163165
// Close should not focus
164166
wrapper.closePicker();
167+
act(() => {
168+
jest.runAllTimers();
169+
});
170+
wrapper.update();
165171
expect(wrapper.find('.rc-picker-time-panel-active').length).toBeFalsy();
172+
173+
jest.useRealTimers();
166174
});
167175

168176
describe('PickerPanel', () => {

tests/picker.spec.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ describe('Picker.Basic', () => {
322322
finalMode: 'date',
323323
},
324324
{
325-
name: 'date',
325+
name: 'datetime',
326326
yearBtn: '.rc-picker-year-btn',
327327
finalPanel: 'DatetimePanel',
328328
finalMode: 'date',
@@ -387,6 +387,7 @@ describe('Picker.Basic', () => {
387387

388388
expect(wrapper.find(finalPanel).length).toBeTruthy();
389389

390+
wrapper.confirmOK();
390391
wrapper.closePicker();
391392
expect(isSame(onChange.mock.calls[0][0], '2019-08-18')).toBeTruthy();
392393
});
@@ -410,7 +411,7 @@ describe('Picker.Basic', () => {
410411
selectColumn(1, 22);
411412
selectColumn(2, 33);
412413

413-
wrapper.closePicker();
414+
wrapper.confirmOK();
414415
expect(
415416
isSame(onChange.mock.calls[0][0], '1990-09-03 13:22:33', 'second'),
416417
).toBeTruthy();

tests/range.spec.tsx

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ describe('Picker.Range', () => {
278278
});
279279
});
280280

281-
describe.only('ranges', () => {
281+
describe('ranges', () => {
282282
it('work', () => {
283283
const onChange = jest.fn();
284284
const wrapper = mount(
@@ -313,7 +313,7 @@ describe('Picker.Range', () => {
313313
);
314314
});
315315

316-
it.only('hover className', () => {
316+
it('hover className', () => {
317317
const wrapper = mount(
318318
<MomentRangePicker
319319
ranges={{
@@ -323,8 +323,7 @@ describe('Picker.Range', () => {
323323
);
324324

325325
wrapper.openPicker();
326-
console.log('=>', wrapper.debug());
327-
wrapper.find('.rc-picker-preset').simulate('mouseEnter');
326+
wrapper.find('.rc-picker-preset > *').simulate('mouseEnter');
328327
expect(
329328
wrapper.findCell(11).hasClass('rc-picker-cell-range-start'),
330329
).toBeTruthy();
@@ -335,7 +334,7 @@ describe('Picker.Range', () => {
335334
wrapper.findCell(13).hasClass('rc-picker-cell-range-end'),
336335
).toBeTruthy();
337336

338-
wrapper.find('.rc-picker-preset').simulate('mouseLeave');
337+
wrapper.find('.rc-picker-preset > *').simulate('mouseLeave');
339338
expect(
340339
wrapper.findCell(11).hasClass('rc-picker-cell-range-start'),
341340
).toBeFalsy();

tests/setup.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ Object.assign(Enzyme.ReactWrapper.prototype, {
2323
.at(index)
2424
.simulate('blur');
2525
},
26+
confirmOK() {
27+
const okBtn = this.find('.rc-picker-ok > *');
28+
if (okBtn.length) {
29+
okBtn.simulate('click');
30+
}
31+
},
2632
isOpen() {
2733
const openDiv = this.find('.rc-picker-dropdown').hostNodes();
2834
return (

tests/util/commonUtil.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import RangePicker, {
2323
const FULL_FORMAT = 'YYYY-MM-DD HH:mm:ss';
2424

2525
export type Wrapper = ReactWrapper & {
26+
confirmOK: () => void;
2627
openPicker: (index?: number) => void;
2728
closePicker: (index?: number) => void;
2829
isOpen: () => boolean;

0 commit comments

Comments
 (0)