@@ -1924,24 +1924,48 @@ describe('Picker.Range', () => {
19241924 expect ( document . querySelectorAll ( '.rc-picker-input' ) [ 1 ] ) . toHaveClass ( 'rc-picker-input-active' ) ;
19251925 } ) ;
19261926
1927- it ( 'dateTime mode switch should trigger onCalendarChange' , ( ) => {
1928- const onCalendarChange = jest . fn ( ) ;
1929- const { container } = render (
1930- < MomentRangePicker
1931- showTime
1932- onCalendarChange = { onCalendarChange }
1933- /> ,
1934- ) ;
1927+ describe ( 'trigger onCalendarChange' , ( ) => {
1928+ const switchInput = ( container : HTMLElement ) => {
1929+ openPicker ( container , 0 ) ;
19351930
1936- openPicker ( container , 0 ) ;
1931+ selectCell ( 8 , 0 ) ;
19371932
1938- selectCell ( 8 , 0 ) ;
1933+ openPicker ( container , 1 ) ;
19391934
1940- openPicker ( container , 1 ) ;
1935+ // onBlur is triggered when the switch is complete
1936+ closePicker ( container , 0 ) ;
1937+ } ;
1938+
1939+ it ( 'dateTime mode switch should trigger onCalendarChange' , ( ) => {
1940+ const onCalendarChange = jest . fn ( ) ;
1941+ const { container } = render (
1942+ < MomentRangePicker showTime onCalendarChange = { onCalendarChange } /> ,
1943+ ) ;
1944+
1945+ switchInput ( container ) ;
19411946
1942- // onBlur is triggered when the switch is complete
1943- closePicker ( container , 0 ) ;
1947+ expect ( onCalendarChange ) . toHaveBeenCalled ( ) ;
1948+ } ) ;
19441949
1945- expect ( onCalendarChange ) . toHaveBeenCalled ( ) ;
1950+ it ( 'should only trigger onCalendarChange when showTime and changeOnBlur exist' , ( ) => {
1951+ const onCalendarChange = jest . fn ( ) ;
1952+ const onChange = jest . fn ( ) ;
1953+ const { container, baseElement } = render (
1954+ < MomentRangePicker
1955+ showTime
1956+ changeOnBlur
1957+ onChange = { onChange }
1958+ onCalendarChange = { onCalendarChange }
1959+ /> ,
1960+ ) ;
1961+
1962+ switchInput ( container ) ;
1963+
1964+ // one of the panel should be open
1965+ expect ( baseElement . querySelector ( '.rc-picker-dropdown' ) ) . toBeTruthy ( ) ;
1966+
1967+ expect ( onCalendarChange ) . toHaveBeenCalled ( ) ;
1968+ expect ( onChange ) . not . toHaveBeenCalled ( ) ;
1969+ } ) ;
19461970 } ) ;
19471971} ) ;
0 commit comments