@@ -10,8 +10,12 @@ import {
10
10
monthDisabledBefore ,
11
11
monthDisabledAfter ,
12
12
getEffectiveMinDate ,
13
- getEffectiveMaxDate
13
+ getEffectiveMaxDate ,
14
+ isTimeInDisabledRange ,
15
+ isDayInRange
14
16
} from "../src/date_utils" ;
17
+ import setMinutes from "date-fns/setMinutes" ;
18
+ import setHours from "date-fns/setHours" ;
15
19
16
20
describe ( "date_utils" , function ( ) {
17
21
describe ( "isSameDay" , function ( ) {
@@ -245,4 +249,53 @@ describe("date_utils", function() {
245
249
assert ( isEqual ( getEffectiveMaxDate ( { maxDate, includeDates } ) , date1 ) ) ;
246
250
} ) ;
247
251
} ) ;
252
+
253
+ describe ( "isTimeInDisabledRange" , ( ) => {
254
+ it ( "should tell if time is in disabled range" , ( ) => {
255
+ const date = newDate ( "2016-03-15" ) ;
256
+ const time = setHours ( setMinutes ( date , 30 ) , 1 ) ;
257
+ const minTime = setHours ( setMinutes ( date , 30 ) , 0 ) ;
258
+ const maxTime = setHours ( setMinutes ( date , 30 ) , 5 ) ;
259
+ expect ( isTimeInDisabledRange ( time , { minTime, maxTime } ) ) . to . be . false ;
260
+ } ) ;
261
+
262
+ it ( "should tell if time is not in disabled range" , ( ) => {
263
+ const date = newDate ( "2016-03-15" ) ;
264
+ const time = setHours ( setMinutes ( date , 30 ) , 0 ) ;
265
+ const minTime = setHours ( setMinutes ( date , 30 ) , 1 ) ;
266
+ const maxTime = setHours ( setMinutes ( date , 30 ) , 5 ) ;
267
+ expect ( isTimeInDisabledRange ( time , { minTime, maxTime } ) ) . to . be . true ;
268
+ } ) ;
269
+
270
+ it ( "should not throw an exception if max time is before min time" , ( ) => {
271
+ const date = newDate ( "2016-03-15" ) ;
272
+ const time = setHours ( setMinutes ( date , 30 ) , 10 ) ;
273
+ const minTime = setHours ( setMinutes ( date , 30 ) , 5 ) ;
274
+ const maxTime = setHours ( setMinutes ( date , 30 ) , 0 ) ;
275
+ expect ( isTimeInDisabledRange ( time , { minTime, maxTime } ) ) . to . be . false ;
276
+ } ) ;
277
+ } ) ;
278
+
279
+ describe ( "isDayInRange" , ( ) => {
280
+ it ( "should tell if day is in range" , ( ) => {
281
+ const day = newDate ( "2016-02-15" ) ;
282
+ const startDate = newDate ( "2016-02-01" ) ;
283
+ const endDate = newDate ( "2016-03-15" ) ;
284
+ expect ( isDayInRange ( day , startDate , endDate ) ) . to . be . true ;
285
+ } ) ;
286
+
287
+ it ( "should tell if day is not in range" , ( ) => {
288
+ const day = newDate ( "2016-07-15" ) ;
289
+ const startDate = newDate ( "2016-02-15" ) ;
290
+ const endDate = newDate ( "2016-03-15" ) ;
291
+ expect ( isDayInRange ( day , startDate , endDate ) ) . to . be . false ;
292
+ } ) ;
293
+
294
+ it ( "should not throw exception if end date is before start date" , ( ) => {
295
+ const day = newDate ( "2016-02-01" ) ;
296
+ const startDate = newDate ( "2016-02-15" ) ;
297
+ const endDate = newDate ( "2016-01-15" ) ;
298
+ expect ( isDayInRange ( day , startDate , endDate ) ) . to . be . false ;
299
+ } ) ;
300
+ } ) ;
248
301
} ) ;
0 commit comments