Skip to content

Commit

Permalink
Month panel test case
Browse files Browse the repository at this point in the history
  • Loading branch information
zombieJ committed Nov 27, 2019
1 parent 477dc00 commit 3fd18eb
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 23 deletions.
34 changes: 32 additions & 2 deletions tests/keyboard.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ import {
} from './util/commonUtil';

describe('Keyboard', () => {
function panelKeyDown(wrapper: Wrapper, keyCode: number) {
wrapper.find('.rc-picker-panel').simulate('keyDown', { which: keyCode });
function panelKeyDown(wrapper: Wrapper, keyCode: number, info?: object) {
wrapper
.find('.rc-picker-panel')
.simulate('keyDown', { which: keyCode, ...info });
}

beforeAll(() => {
Expand Down Expand Up @@ -291,4 +293,32 @@ describe('Keyboard', () => {
isSame(onSelect.mock.calls[0][0], '1990-09-03 00:00:00', 'second'),
).toBeTruthy();
});

describe('arrow trigger onSelect', () => {
// Same as 'open to select' test. But with other panel
it('month', () => {
const onSelect = jest.fn();
const wrapper = mount(
<MomentPickerPanel
picker="month"
defaultValue={getMoment('1990-09-03')}
onSelect={onSelect}
/>,
);

// Left
panelKeyDown(wrapper, KeyCode.LEFT);
expect(isSame(onSelect.mock.calls[0][0], '1990-08-03')).toBeTruthy();

// Control + Right
onSelect.mockReset();
panelKeyDown(wrapper, KeyCode.RIGHT, { ctrlKey: true });
expect(isSame(onSelect.mock.calls[0][0], '1991-08-03')).toBeTruthy();

// Down
onSelect.mockReset();
panelKeyDown(wrapper, KeyCode.DOWN);
expect(isSame(onSelect.mock.calls[0][0], '1991-11-03')).toBeTruthy();
});
});
});
80 changes: 59 additions & 21 deletions tests/panel.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,25 @@ describe('Panel', () => {
'Sep1990',
);
});

it('month', () => {
const wrapper = mount(
<MomentPickerPanel
defaultValue={getMoment('1990-09-03')}
picker="month"
/>,
);

wrapper.clickButton('super-prev');
expect(wrapper.find('.rc-picker-month-panel-header-view').text()).toEqual(
'1989',
);

wrapper.clickButton('super-next');
expect(wrapper.find('.rc-picker-month-panel-header-view').text()).toEqual(
'1990',
);
});
});

// This test is safe to remove
Expand Down Expand Up @@ -214,29 +233,48 @@ describe('Panel', () => {
).toBeTruthy();
});

it('time should not trigger onSelect when disabled', () => {
const onSelect = jest.fn();
const wrapper = mount(
<MomentPickerPanel
mode="time"
onSelect={onSelect}
disabledHours={() => [0]}
/>,
);
describe('not trigger onSelect when cell disabled', () => {
it('time', () => {
const onSelect = jest.fn();
const wrapper = mount(
<MomentPickerPanel
mode="time"
onSelect={onSelect}
disabledHours={() => [0]}
/>,
);

// Disabled
wrapper
.find('li')
.first()
.simulate('click');
expect(onSelect).not.toHaveBeenCalled();
// Disabled
wrapper
.find('li')
.first()
.simulate('click');
expect(onSelect).not.toHaveBeenCalled();

// Enabled
wrapper
.find('li')
.at(1)
.simulate('click');
expect(onSelect).toHaveBeenCalled();
// Enabled
wrapper
.find('li')
.at(1)
.simulate('click');
expect(onSelect).toHaveBeenCalled();
});

it('month', () => {
const onSelect = jest.fn();
const wrapper = mount(
<MomentPickerPanel
picker="month"
onSelect={onSelect}
disabledDate={date => date.month() === 0}
/>,
);

wrapper.selectCell('Jan');
expect(onSelect).not.toHaveBeenCalled();

wrapper.selectCell('Feb');
expect(onSelect).toHaveBeenCalled();
});
});

it('time with use12Hours', () => {
Expand Down

1 comment on commit 3fd18eb

@vercel
Copy link

@vercel vercel bot commented on 3fd18eb 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.