@@ -22,10 +22,6 @@ import { QueryCache, QueryClient, injectQuery, provideTanStackQuery } from '..'
22
22
import { setSignalInputs } from './test-utils'
23
23
import type { CreateQueryOptions , OmitKeyof , QueryFunction } from '..'
24
24
25
- const QUERY_DURATION = 100
26
-
27
- const resolveQueries = ( ) => vi . advanceTimersByTimeAsync ( QUERY_DURATION )
28
-
29
25
describe ( 'injectQuery' , ( ) => {
30
26
let queryCache : QueryCache
31
27
let queryClient : QueryClient
@@ -265,7 +261,7 @@ describe('injectQuery', () => {
265
261
const query = TestBed . runInInjectionContext ( ( ) => {
266
262
return injectQuery ( ( ) => ( {
267
263
queryKey : [ 'key1' ] ,
268
- queryFn : ( ) => sleep ( 0 ) . then ( ( ) => 'Some data' ) ,
264
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'Some data' ) ,
269
265
} ) )
270
266
} )
271
267
@@ -280,12 +276,11 @@ describe('injectQuery', () => {
280
276
const query = TestBed . runInInjectionContext ( ( ) => {
281
277
return injectQuery ( ( ) => ( {
282
278
queryKey : [ 'key2' ] ,
283
- queryFn : ( ) => sleep ( 0 ) . then ( ( ) => 'result2' ) ,
279
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'result2' ) ,
284
280
} ) )
285
281
} )
286
282
287
- await resolveQueries ( )
288
-
283
+ await vi . advanceTimersByTimeAsync ( 11 )
289
284
expect ( query . status ( ) ) . toBe ( 'success' )
290
285
expect ( query . data ( ) ) . toBe ( 'result2' )
291
286
expect ( query . isPending ( ) ) . toBe ( false )
@@ -300,12 +295,11 @@ describe('injectQuery', () => {
300
295
retry : false ,
301
296
queryKey : [ 'key3' ] ,
302
297
queryFn : ( ) =>
303
- sleep ( 0 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
298
+ sleep ( 10 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
304
299
} ) )
305
300
} )
306
301
307
- await resolveQueries ( )
308
-
302
+ await vi . advanceTimersByTimeAsync ( 11 )
309
303
expect ( query . status ( ) ) . toBe ( 'error' )
310
304
expect ( query . data ( ) ) . toBe ( undefined )
311
305
expect ( query . error ( ) ) . toMatchObject ( { message : 'Some error' } )
@@ -318,7 +312,7 @@ describe('injectQuery', () => {
318
312
319
313
test ( 'should update query on options contained signal change' , async ( ) => {
320
314
const key = signal ( [ 'key6' , 'key7' ] )
321
- const spy = vi . fn ( ( ) => sleep ( 0 ) . then ( ( ) => 'Some data' ) )
315
+ const spy = vi . fn ( ( ) => sleep ( 10 ) . then ( ( ) => 'Some data' ) )
322
316
323
317
const query = TestBed . runInInjectionContext ( ( ) => {
324
318
return injectQuery ( ( ) => ( {
@@ -327,10 +321,10 @@ describe('injectQuery', () => {
327
321
} ) )
328
322
} )
329
323
330
- await resolveQueries ( )
331
-
324
+ await vi . advanceTimersByTimeAsync ( 0 )
332
325
expect ( spy ) . toHaveBeenCalledTimes ( 1 )
333
326
327
+ await vi . advanceTimersByTimeAsync ( 11 )
334
328
expect ( query . status ( ) ) . toBe ( 'success' )
335
329
336
330
key . set ( [ 'key8' ] )
@@ -347,7 +341,7 @@ describe('injectQuery', () => {
347
341
} )
348
342
349
343
test ( 'should only run query once enabled signal is set to true' , async ( ) => {
350
- const spy = vi . fn ( ( ) => sleep ( 0 ) . then ( ( ) => 'Some data' ) )
344
+ const spy = vi . fn ( ( ) => sleep ( 10 ) . then ( ( ) => 'Some data' ) )
351
345
const enabled = signal ( false )
352
346
353
347
const query = TestBed . runInInjectionContext ( ( ) => {
@@ -362,7 +356,8 @@ describe('injectQuery', () => {
362
356
expect ( query . status ( ) ) . toBe ( 'pending' )
363
357
364
358
enabled . set ( true )
365
- await resolveQueries ( )
359
+
360
+ await vi . advanceTimersByTimeAsync ( 11 )
366
361
expect ( spy ) . toHaveBeenCalledTimes ( 1 )
367
362
expect ( query . status ( ) ) . toBe ( 'success' )
368
363
} )
@@ -371,7 +366,7 @@ describe('injectQuery', () => {
371
366
const query1 = TestBed . runInInjectionContext ( ( ) => {
372
367
return injectQuery ( ( ) => ( {
373
368
queryKey : [ 'dependant1' ] ,
374
- queryFn : ( ) => sleep ( 0 ) . then ( ( ) => 'Some data' ) ,
369
+ queryFn : ( ) => sleep ( 10 ) . then ( ( ) => 'Some data' ) ,
375
370
} ) )
376
371
} )
377
372
@@ -393,12 +388,12 @@ describe('injectQuery', () => {
393
388
expect ( query2 . fetchStatus ( ) ) . toStrictEqual ( 'idle' )
394
389
expect ( dependentQueryFn ) . not . toHaveBeenCalled ( )
395
390
396
- await resolveQueries ( )
391
+ await vi . advanceTimersByTimeAsync ( 11 )
397
392
398
393
expect ( query1 . data ( ) ) . toStrictEqual ( 'Some data' )
399
394
expect ( query2 . fetchStatus ( ) ) . toStrictEqual ( 'fetching' )
400
395
401
- await vi . runAllTimersAsync ( )
396
+ await vi . advanceTimersByTimeAsync ( 1002 )
402
397
403
398
expect ( query2 . fetchStatus ( ) ) . toStrictEqual ( 'idle' )
404
399
expect ( query2 . status ( ) ) . toStrictEqual ( 'success' )
@@ -409,7 +404,7 @@ describe('injectQuery', () => {
409
404
} )
410
405
411
406
test ( 'should use the current value for the queryKey when refetch is called' , async ( ) => {
412
- const fetchFn = vi . fn ( ( ) => sleep ( 0 ) . then ( ( ) => 'Some data' ) )
407
+ const fetchFn = vi . fn ( ( ) => sleep ( 10 ) . then ( ( ) => 'Some data' ) )
413
408
const keySignal = signal ( 'key11' )
414
409
415
410
const query = TestBed . runInInjectionContext ( ( ) => {
@@ -431,10 +426,9 @@ describe('injectQuery', () => {
431
426
)
432
427
} )
433
428
434
- await resolveQueries ( )
429
+ await vi . advanceTimersByTimeAsync ( 11 )
435
430
436
431
keySignal . set ( 'key12' )
437
-
438
432
TestBed . tick ( )
439
433
440
434
query . refetch ( ) . then ( ( ) => {
@@ -446,7 +440,7 @@ describe('injectQuery', () => {
446
440
)
447
441
} )
448
442
449
- await resolveQueries ( )
443
+ await vi . advanceTimersByTimeAsync ( 11 )
450
444
} )
451
445
452
446
describe ( 'throwOnError' , ( ) => {
@@ -456,13 +450,13 @@ describe('injectQuery', () => {
456
450
return injectQuery ( ( ) => ( {
457
451
queryKey : [ 'key12' ] ,
458
452
queryFn : ( ) =>
459
- sleep ( 0 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
453
+ sleep ( 10 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
454
+ retry : false ,
460
455
throwOnError : boundaryFn ,
461
456
} ) )
462
457
} )
463
458
464
- await vi . runAllTimersAsync ( )
465
-
459
+ await vi . advanceTimersByTimeAsync ( 11 )
466
460
expect ( boundaryFn ) . toHaveBeenCalledTimes ( 1 )
467
461
expect ( boundaryFn ) . toHaveBeenCalledWith (
468
462
Error ( 'Some error' ) ,
@@ -505,13 +499,13 @@ describe('injectQuery', () => {
505
499
retry : false ,
506
500
queryKey : [ 'key15' ] ,
507
501
queryFn : ( ) =>
508
- sleep ( 0 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
502
+ sleep ( 10 ) . then ( ( ) => Promise . reject ( new Error ( 'Some error' ) ) ) ,
509
503
} ) )
510
504
} )
511
505
512
506
expect ( query . status ( ) ) . toBe ( 'pending' )
513
507
514
- await resolveQueries ( )
508
+ await vi . advanceTimersByTimeAsync ( 11 )
515
509
516
510
expect ( query . status ( ) ) . toBe ( 'error' )
517
511
} )
@@ -537,7 +531,7 @@ describe('injectQuery', () => {
537
531
} )
538
532
539
533
fixture . detectChanges ( )
540
- await resolveQueries ( )
534
+ await vi . advanceTimersByTimeAsync ( 0 )
541
535
542
536
expect ( fixture . componentInstance . query . data ( ) ) . toEqual (
543
537
'signal-input-required-test' ,
0 commit comments