@@ -7,6 +7,7 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
7
7
import { BrowserAnimationsModule } from '@angular/platform-browser/animations' ;
8
8
import { By } from '@angular/platform-browser' ;
9
9
import { BsCustomDates } from '../themes/bs/bs-custom-dates-view.component' ;
10
+ import { firstValueFrom } from 'rxjs' ;
10
11
11
12
@Component ( {
12
13
selector : 'test-cmp' ,
@@ -87,7 +88,7 @@ describe('daterangepicker:', () => {
87
88
expect ( timepickerZone ) . not . toBeTruthy ( ) ;
88
89
} ) ;
89
90
90
- it ( 'should update time when time is changed in timepicker' , ( ) => {
91
+ it ( 'should update time when time is changed in timepicker' , ( done ) => {
91
92
const directive = getDaterangepickerDirective ( fixture ) ;
92
93
directive . bsConfig = {
93
94
withTimepicker : true
@@ -119,6 +120,7 @@ describe('daterangepicker:', () => {
119
120
. subscribe ( view => {
120
121
expect ( view [ 0 ] . getMinutes ( ) ) . toEqual ( ranges [ 1 ] . value [ 0 ] . getMinutes ( ) ) ;
121
122
expect ( view [ 1 ] . getMinutes ( ) ) . toEqual ( ranges [ 1 ] . value [ 1 ] . getMinutes ( ) ) ;
123
+ done ( ) ;
122
124
} ) ;
123
125
} ) ;
124
126
@@ -185,7 +187,7 @@ describe('daterangepicker:', () => {
185
187
expect ( getDaterangepickerContainer ( datepicker ) ) . toBeNull ( ) ;
186
188
} ) ;
187
189
188
- it ( 'should display correct date range in input when selected from ranges' , ( ) => {
190
+ it ( 'should display correct date range in input when selected from ranges' , ( done ) => {
189
191
const datepicker = showDatepicker ( fixture ) ;
190
192
const ranges = [
191
193
{
@@ -207,6 +209,7 @@ describe('daterangepicker:', () => {
207
209
. select ( state => state . selectedRange )
208
210
. subscribe ( view => {
209
211
expect ( view ) . toEqual ( ranges [ 0 ] . value ) ;
212
+ done ( ) ;
210
213
} ) ;
211
214
} ) ;
212
215
@@ -230,31 +233,6 @@ describe('daterangepicker:', () => {
230
233
231
234
const rangesButton = document . querySelector ( '.bs-datepicker-predefined-btns' ) ;
232
235
expect ( rangesButton . childElementCount ) . toEqual ( ranges . length ) ;
233
-
234
- } ) ;
235
-
236
- it ( 'should display correct date range in input when selected from ranges' , ( ) => {
237
- const datepicker = showDatepicker ( fixture ) ;
238
- const ranges = [
239
- {
240
- label : 'Last 7 days' ,
241
- value : [ new Date ( '12-10-2019' ) , new Date ( '12-16-2019' ) ]
242
- } ,
243
- {
244
- label : 'Next 7 days' ,
245
- value : [ new Date ( '12-16-2019' ) , new Date ( '12-22-2019' ) ]
246
- }
247
- ] ;
248
- datepicker . bsConfig . ranges = ranges ;
249
- const datepickerContainerInstance = getDaterangepickerContainer ( datepicker ) ;
250
- datepickerContainerInstance . setRangeOnCalendar ( ranges [ 0 ] ) ;
251
-
252
- fixture . detectChanges ( ) ;
253
- datepickerContainerInstance [ `_store` ]
254
- . select ( state => state . selectedRange )
255
- . subscribe ( view => {
256
- expect ( view ) . toEqual ( ranges [ 0 ] . value ) ;
257
- } ) ;
258
236
} ) ;
259
237
260
238
it ( 'should correctly display the selected range button with active custom class' , ( ) => {
@@ -286,7 +264,7 @@ describe('daterangepicker:', () => {
286
264
expect ( activeRangeButton [ 0 ] . innerHTML . trim ( ) ) . toEqual ( ranges [ 0 ] . label ) ;
287
265
} ) ;
288
266
289
- it ( 'should not allow to select date behind max value' , ( ) => {
267
+ it ( 'should not allow to select date behind max value' , async ( ) => {
290
268
const datepicker = showDatepicker ( fixture ) ;
291
269
datepicker . bsConfig . maxDate = new Date ( ) ;
292
270
datepicker . bsConfig . maxDateRange = 10 ;
@@ -300,15 +278,12 @@ describe('daterangepicker:', () => {
300
278
value : [ correctDateStart , correctDateEnd ]
301
279
} ;
302
280
303
- datepickerContainerInstance . setMaxDateRangeOnCalendar ( correctDateStart ) ;
281
+ datepickerContainerInstance . setMaxDateRangeOnCalendar ( correctDateEnd ) ;
304
282
datepickerContainerInstance . setRangeOnCalendar ( selectedRange ) ;
305
283
fixture . detectChanges ( ) ;
306
284
307
- datepickerContainerInstance [ `_store` ]
308
- . select ( state => state )
309
- . subscribe ( view => {
310
- expect ( view . maxDate ) . toEqual ( correctDateEnd ) ;
311
- } ) ;
285
+ let view = await firstValueFrom ( datepickerContainerInstance [ `_store` ] . select ( ( state ) => state ) ) ;
286
+ expect ( view . maxDate ) . toEqual ( correctDateEnd ) ;
312
287
313
288
const incorrectCaseStart = new Date ( new Date ( ) . setDate ( new Date ( ) . getDate ( ) - 5 ) ) ;
314
289
const incorrectCaseEnd = new Date ( new Date ( ) . setDate ( new Date ( ) . getDate ( ) + 15 ) ) ;
@@ -321,10 +296,7 @@ describe('daterangepicker:', () => {
321
296
datepickerContainerInstance . setRangeOnCalendar ( selectedRange1 ) ;
322
297
fixture . detectChanges ( ) ;
323
298
324
- datepickerContainerInstance [ `_store` ]
325
- . select ( state => state )
326
- . subscribe ( view => {
327
- expect ( view . maxDate ) . not . toEqual ( incorrectCaseEnd ) ;
328
- } ) ;
329
- } ) ;
299
+ view = await firstValueFrom ( datepickerContainerInstance [ `_store` ] . select ( ( state ) => state ) ) ;
300
+ expect ( view . maxDate ) . not . toEqual ( incorrectCaseEnd ) ;
330
301
} ) ;
302
+ } ) ;
0 commit comments