@@ -8,10 +8,13 @@ import zhCN from '../src/locale/zh_CN';
8
8
import {
9
9
clickButton ,
10
10
confirmOK ,
11
+ findCell ,
11
12
getMoment ,
13
+ isOpen ,
12
14
isSame ,
13
15
MomentPickerPanel ,
14
16
selectCell ,
17
+ Calendar
15
18
} from './util/commonUtil' ;
16
19
17
20
jest . mock ( '../src/utils/uiUtil' , ( ) => {
@@ -557,4 +560,37 @@ describe('Picker.Panel', () => {
557
560
} ) ;
558
561
} ) ;
559
562
} ) ;
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
+ } ) ;
560
596
} ) ;
0 commit comments