diff --git a/jest.config.js b/jest.config.js index 573194827..9641a57df 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,4 +1,3 @@ module.exports = { - setupFiles: ['./tests/setup.js'], coveragePathIgnorePatterns: ['src/locale/', 'tests/'], }; diff --git a/src/PickerInput/SinglePicker.tsx b/src/PickerInput/SinglePicker.tsx index aeb588135..c4568b864 100644 --- a/src/PickerInput/SinglePicker.tsx +++ b/src/PickerInput/SinglePicker.tsx @@ -603,7 +603,6 @@ function Picker( // Submit with complex picker if (!mergedOpen && complexPicker && !needConfirm && lastOp === 'panel') { - triggerOpen(true); triggerConfirm(); } }, [mergedOpen]); diff --git a/tests/new-range.spec.tsx b/tests/new-range.spec.tsx index ff9c2f83a..f9faa18ee 100644 --- a/tests/new-range.spec.tsx +++ b/tests/new-range.spec.tsx @@ -785,6 +785,32 @@ describe('NewPicker.Range', () => { expect(container.querySelectorAll('input')[0]).toHaveValue('1990-09-05'); expect(container.querySelectorAll('input')[1]).toHaveValue('1990-09-05'); }); + + it('not trigger open when !needConfirm', () => { + const onChange = jest.fn(); + const onOpenChange = jest.fn(); + + const { container } = render( + , + ); + openPicker(container); + + fireEvent.click(findCell(5)); + + act(() => { + jest.runAllTimers(); + }); + expect(onOpenChange).toHaveBeenCalledWith(true); + + // Window click to close + fireEvent.mouseDown(document.body); + act(() => { + jest.runAllTimers(); + }); + + expect(onOpenChange).toHaveBeenCalledTimes(2); + expect(onOpenChange).toHaveBeenCalledWith(false); + }); }); describe('open', () => {