@@ -1114,6 +1114,70 @@ describe("Month", () => {
11141114 expect ( onDayMouseEnterSpy ) . not . toHaveBeenCalled ( ) ;
11151115 } ) ;
11161116
1117+ it ( "should return disabled class if specified excludeDate" , ( ) => {
1118+ const onDayClickSpy = jest . fn ( ) ;
1119+ const onDayMouseEnterSpy = jest . fn ( ) ;
1120+ const { container } = render (
1121+ < Month
1122+ day = { newDate ( "2015-12-01" ) }
1123+ excludeDates = { [
1124+ newDate ( "2015-02-01" ) ,
1125+ newDate ( "2015-07-03" ) ,
1126+ ] }
1127+ showQuarterYearPicker
1128+ onDayClick = { onDayClickSpy }
1129+ onDayMouseEnter = { onDayMouseEnterSpy }
1130+ /> ,
1131+ ) ;
1132+ // exclude quarter index
1133+ const quarterTexts = container . querySelectorAll (
1134+ ".react-datepicker__quarter-text" ,
1135+ ) ;
1136+
1137+ [ 0 , 2 ] . forEach ( ( i ) => {
1138+ const quarter = quarterTexts [ i ] ! ;
1139+ expect (
1140+ quarter . classList . contains ( "react-datepicker__quarter-text--disabled" ) ,
1141+ ) . toBe ( true ) ;
1142+ fireEvent . click ( quarter ) ;
1143+ expect ( onDayClickSpy ) . not . toHaveBeenCalled ( ) ;
1144+ fireEvent . mouseEnter ( quarter ) ;
1145+ expect ( onDayMouseEnterSpy ) . not . toHaveBeenCalled ( ) ;
1146+ } ) ;
1147+ } ) ;
1148+
1149+ it ( "should return disabled class if specified includeDate" , ( ) => {
1150+ const onDayClickSpy = jest . fn ( ) ;
1151+ const onDayMouseEnterSpy = jest . fn ( ) ;
1152+ const { container } = render (
1153+ < Month
1154+ day = { newDate ( "2015-12-01" ) }
1155+ includeDates = { [
1156+ newDate ( "2015-02-01" ) ,
1157+ newDate ( "2015-07-03" ) ,
1158+ ] }
1159+ showQuarterYearPicker
1160+ onDayClick = { onDayClickSpy }
1161+ onDayMouseEnter = { onDayMouseEnterSpy }
1162+ /> ,
1163+ ) ;
1164+ // include quarter index
1165+ const quarterTexts = container . querySelectorAll (
1166+ ".react-datepicker__quarter-text" ,
1167+ ) ;
1168+
1169+ [ 1 , 3 ] . forEach ( ( i ) => {
1170+ const quarter = quarterTexts [ i ] ! ;
1171+ expect (
1172+ quarter . classList . contains ( "react-datepicker__quarter-text--disabled" ) ,
1173+ ) . toBe ( true ) ;
1174+ fireEvent . click ( quarter ) ;
1175+ expect ( onDayClickSpy ) . not . toHaveBeenCalled ( ) ;
1176+ fireEvent . mouseEnter ( quarter ) ;
1177+ expect ( onDayMouseEnterSpy ) . not . toHaveBeenCalled ( ) ;
1178+ } ) ;
1179+ } ) ;
1180+
11171181 describe ( "if quarter is selected" , ( ) => {
11181182 let monthComponent : HTMLElement ;
11191183 let quarter : HTMLElement ;
0 commit comments