@@ -8,10 +8,13 @@ import zhCN from '../src/locale/zh_CN';
88import {
99 clickButton ,
1010 confirmOK ,
11+ findCell ,
1112 getMoment ,
13+ isOpen ,
1214 isSame ,
1315 MomentPickerPanel ,
1416 selectCell ,
17+ Calendar
1518} from './util/commonUtil' ;
1619
1720jest . mock ( '../src/utils/uiUtil' , ( ) => {
@@ -557,4 +560,37 @@ describe('Picker.Panel', () => {
557560 } ) ;
558561 } ) ;
559562 } ) ;
563+
564+ it ( 'calendar' , ( ) => {
565+ const { container } = render ( < Calendar /> ) ;
566+ expect ( container . querySelector ( '.rc-picker-month-panel' ) ) . toBeTruthy ( ) ;
567+ const inputElements : any = container . querySelectorAll ( '.rc-picker-month-panel input' ) ;
568+ expect ( inputElements . length ) . toBe ( 12 ) ;
569+ const inputElement = inputElements [ 0 ] ;
570+ expect ( inputElement . value ) . toBe ( "" ) ;
571+
572+ fireEvent . mouseDown ( inputElement ) ;
573+ fireEvent . focus ( inputElement ) ;
574+ expect ( isOpen ( ) ) . toBeTruthy ( ) ;
575+ const monthDOM = document . querySelector ( '.rc-picker-header-view > .rc-picker-month-btn' ) as HTMLElement ;
576+ const lastMonthBtnValue = monthDOM . innerHTML ;
577+ fireEvent . click ( document . querySelector ( '.rc-picker-dropdown .rc-picker-header-prev-btn' ) ) ;
578+ const currentMonthBtnValue = monthDOM . innerHTML ;
579+ expect ( lastMonthBtnValue !== currentMonthBtnValue ) . toBeTruthy ( ) ;
580+
581+ const cell = findCell ( 2 , 1 ) ;
582+ fireEvent . click ( cell ) ;
583+ jest . runAllTimers ( ) ;
584+ expect ( inputElement . value ) . not . toBeNull ( ) ;
585+ expect ( isOpen ( ) ) . toBeFalsy ( ) ;
586+
587+ fireEvent . mouseDown ( inputElement ) ;
588+ fireEvent . focus ( inputElement ) ;
589+ expect ( isOpen ( ) ) . toBeTruthy ( ) ;
590+ const monthDOMNew = document . querySelector ( '.rc-picker-header-view > .rc-picker-month-btn' ) as HTMLElement ;
591+ const lastMonthBtnValueNew = monthDOMNew . innerHTML ;
592+ fireEvent . click ( document . querySelector ( '.rc-picker-dropdown .rc-picker-header-prev-btn' ) ) ;
593+ const currentMonthBtnValueNew = monthDOMNew . innerHTML ;
594+ expect ( lastMonthBtnValueNew !== currentMonthBtnValueNew ) . toBeTruthy ( ) ;
595+ } ) ;
560596} ) ;
0 commit comments