Skip to content

Commit 343501c

Browse files
sukvvonmanudeli
andauthored
test(query-core/queryObserver): use precise time in 'advanceTimersByTimeAsync' (#9432)
Co-authored-by: Jonghyeon Ko <manudeli.ko@gmail.com>
1 parent c65869e commit 343501c

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

packages/query-core/src/__tests__/queryObserver.test.tsx

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,9 @@ describe('queryObserver', () => {
282282
const unsubscribe = observer.subscribe((result) => {
283283
results.push(result)
284284
})
285-
await vi.advanceTimersByTimeAsync(1)
285+
await vi.advanceTimersByTimeAsync(0)
286286
observer.setOptions({ queryKey: key2, queryFn: () => 2 })
287-
await vi.advanceTimersByTimeAsync(1)
287+
await vi.advanceTimersByTimeAsync(0)
288288
unsubscribe()
289289
expect(results.length).toBe(4)
290290
expect(results[0]).toMatchObject({ data: undefined, status: 'pending' })
@@ -307,7 +307,7 @@ describe('queryObserver', () => {
307307
>()
308308
observerResult = result
309309
})
310-
await vi.advanceTimersByTimeAsync(1)
310+
await vi.advanceTimersByTimeAsync(0)
311311
unsubscribe()
312312
expect(observerResult).toMatchObject({ data: { myCount: 1 } })
313313
})
@@ -337,7 +337,7 @@ describe('queryObserver', () => {
337337
const unsubscribe = observer.subscribe((result) => {
338338
observerResult = result
339339
})
340-
await vi.advanceTimersByTimeAsync(1)
340+
await vi.advanceTimersByTimeAsync(0)
341341
unsubscribe()
342342
expect(observerResult).toMatchObject({ data: { myCount: 1 } })
343343
})
@@ -381,13 +381,12 @@ describe('queryObserver', () => {
381381
const unsubscribe = observer.subscribe((result) => {
382382
results.push(result)
383383
})
384-
await vi.advanceTimersByTimeAsync(1)
384+
await vi.advanceTimersByTimeAsync(0)
385385
observer.setOptions({
386386
queryKey: key,
387387
queryFn,
388388
select: select2,
389389
})
390-
await vi.advanceTimersByTimeAsync(1)
391390
await observer.refetch()
392391
unsubscribe()
393392
expect(count).toBe(2)
@@ -436,13 +435,12 @@ describe('queryObserver', () => {
436435
const unsubscribe = observer.subscribe((result) => {
437436
results.push(result)
438437
})
439-
await vi.advanceTimersByTimeAsync(1)
438+
await vi.advanceTimersByTimeAsync(0)
440439
observer.setOptions({
441440
queryKey: key,
442441
queryFn,
443442
select,
444443
})
445-
await vi.advanceTimersByTimeAsync(1)
446444
await observer.refetch()
447445
unsubscribe()
448446
expect(count).toBe(1)
@@ -504,7 +502,7 @@ describe('queryObserver', () => {
504502
const unsubscribe = observer.subscribe((result) => {
505503
results.push(result)
506504
})
507-
await vi.advanceTimersByTimeAsync(50)
505+
await vi.advanceTimersByTimeAsync(10)
508506
observer.refetch()
509507
await vi.advanceTimersByTimeAsync(10)
510508
unsubscribe()
@@ -554,7 +552,7 @@ describe('queryObserver', () => {
554552
const unsubscribe = observer.subscribe((result) => {
555553
results.push(result)
556554
})
557-
await vi.advanceTimersByTimeAsync(50)
555+
await vi.advanceTimersByTimeAsync(10)
558556
observer.refetch()
559557
await vi.advanceTimersByTimeAsync(10)
560558
unsubscribe()
@@ -610,7 +608,7 @@ describe('queryObserver', () => {
610608
enabled: false,
611609
})
612610
const unsubscribe = observer.subscribe(() => undefined)
613-
await vi.advanceTimersByTimeAsync(1)
611+
await vi.advanceTimersByTimeAsync(0)
614612
unsubscribe()
615613
expect(queryFn).toHaveBeenCalledTimes(0)
616614
})
@@ -626,7 +624,7 @@ describe('queryObserver', () => {
626624
enabled: () => false,
627625
})
628626
const unsubscribe = observer.subscribe(() => undefined)
629-
await vi.advanceTimersByTimeAsync(1)
627+
await vi.advanceTimersByTimeAsync(0)
630628
unsubscribe()
631629
expect(queryFn).toHaveBeenCalledTimes(0)
632630
})
@@ -637,7 +635,7 @@ describe('queryObserver', () => {
637635
.fn<(...args: Array<unknown>) => string>()
638636
.mockReturnValue('data')
639637
new QueryObserver(queryClient, { queryKey: key, queryFn })
640-
await vi.advanceTimersByTimeAsync(1)
638+
await vi.advanceTimersByTimeAsync(0)
641639
expect(queryFn).toHaveBeenCalledTimes(0)
642640
})
643641

@@ -653,6 +651,7 @@ describe('queryObserver', () => {
653651
})
654652
const unsubscribe = observer.subscribe(callback)
655653
await queryClient.fetchQuery({ queryKey: key, queryFn })
654+
await vi.advanceTimersByTimeAsync(0)
656655
unsubscribe()
657656
expect(queryFn).toHaveBeenCalledTimes(1)
658657
expect(callback).toHaveBeenCalledTimes(2)
@@ -673,7 +672,7 @@ describe('queryObserver', () => {
673672
})
674673
observer.setOptions({ queryKey: key, enabled: false, staleTime: 10 })
675674
await queryClient.fetchQuery({ queryKey: key, queryFn })
676-
await vi.advanceTimersByTimeAsync(20)
675+
await vi.advanceTimersByTimeAsync(0)
677676
unsubscribe()
678677
expect(queryFn).toHaveBeenCalledTimes(1)
679678
expect(results.length).toBe(2)
@@ -699,7 +698,7 @@ describe('queryObserver', () => {
699698
results2.push(x)
700699
})
701700
await queryClient.fetchQuery({ queryKey: key, queryFn })
702-
await vi.advanceTimersByTimeAsync(50)
701+
await vi.advanceTimersByTimeAsync(0)
703702
unsubscribe1()
704703
unsubscribe2()
705704
expect(queryFn).toHaveBeenCalledTimes(1)
@@ -724,9 +723,9 @@ describe('queryObserver', () => {
724723
retryDelay: 50,
725724
})
726725
const unsubscribe = observer.subscribe(() => undefined)
727-
await vi.advanceTimersByTimeAsync(70)
726+
await vi.advanceTimersByTimeAsync(50)
728727
unsubscribe()
729-
await vi.advanceTimersByTimeAsync(200)
728+
await vi.advanceTimersByTimeAsync(50)
730729
expect(count).toBe(2)
731730
})
732731

@@ -746,7 +745,7 @@ describe('queryObserver', () => {
746745
})
747746
const unsubscribe = observer.subscribe(() => undefined)
748747
expect(count).toBe(1)
749-
await vi.advanceTimersByTimeAsync(15)
748+
await vi.advanceTimersByTimeAsync(10)
750749
expect(count).toBe(2)
751750
unsubscribe()
752751
await vi.advanceTimersByTimeAsync(10)
@@ -773,7 +772,7 @@ describe('queryObserver', () => {
773772
results.push(x)
774773
})
775774

776-
await vi.advanceTimersByTimeAsync(10)
775+
await vi.advanceTimersByTimeAsync(0)
777776
unsubscribe()
778777

779778
expect(results.length).toBe(2)
@@ -881,7 +880,7 @@ describe('queryObserver', () => {
881880

882881
const unsubscribe = observer.subscribe(() => undefined)
883882

884-
await vi.advanceTimersByTimeAsync(10)
883+
await vi.advanceTimersByTimeAsync(0)
885884
expect(observer.getCurrentResult().data).toBe(data)
886885

887886
observer.setOptions({
@@ -958,7 +957,7 @@ describe('queryObserver', () => {
958957
results.push(result)
959958
})
960959

961-
await vi.advanceTimersByTimeAsync(1)
960+
await vi.advanceTimersByTimeAsync(0)
962961

963962
observer.setOptions({
964963
queryKey: key2,
@@ -970,7 +969,7 @@ describe('queryObserver', () => {
970969
select: (data) => data.value,
971970
})
972971

973-
await vi.advanceTimersByTimeAsync(1)
972+
await vi.advanceTimersByTimeAsync(0)
974973
unsubscribe()
975974
expect(results.length).toBe(4)
976975
expect(keys.length).toBe(3)
@@ -1025,7 +1024,7 @@ describe('queryObserver', () => {
10251024
results.push(result)
10261025
})
10271026

1028-
await vi.advanceTimersByTimeAsync(1)
1027+
await vi.advanceTimersByTimeAsync(0)
10291028

10301029
observer.setOptions({
10311030
queryKey: key2,
@@ -1037,7 +1036,7 @@ describe('queryObserver', () => {
10371036
},
10381037
})
10391038

1040-
await vi.advanceTimersByTimeAsync(1)
1039+
await vi.advanceTimersByTimeAsync(0)
10411040
unsubscribe()
10421041

10431042
expect(results.length).toBe(4)
@@ -1088,7 +1087,7 @@ describe('queryObserver', () => {
10881087
results.push(result)
10891088
})
10901089

1091-
await vi.advanceTimersByTimeAsync(1)
1090+
await vi.advanceTimersByTimeAsync(0)
10921091

10931092
observer.setOptions({
10941093
queryKey: key2,
@@ -1097,7 +1096,7 @@ describe('queryObserver', () => {
10971096
select: stableSelect,
10981097
})
10991098

1100-
await vi.advanceTimersByTimeAsync(1)
1099+
await vi.advanceTimersByTimeAsync(0)
11011100
unsubscribe()
11021101

11031102
expect(results.length).toBe(4)
@@ -1234,7 +1233,7 @@ describe('queryObserver', () => {
12341233
results.push(observer.getCurrentResult())
12351234
})
12361235

1237-
await vi.advanceTimersByTimeAsync(10)
1236+
await vi.advanceTimersByTimeAsync(8)
12381237
expect(results.at(-1)?.data).toBe('data')
12391238

12401239
const numberOfUniquePromises = new Set(
@@ -1266,7 +1265,7 @@ describe('queryObserver', () => {
12661265
results.push(observer.getCurrentResult())
12671266
})
12681267

1269-
await vi.advanceTimersByTimeAsync(5)
1268+
await vi.advanceTimersByTimeAsync(4)
12701269
expect(results.at(-1)?.status).toBe('error')
12711270

12721271
expect(
@@ -1277,7 +1276,7 @@ describe('queryObserver', () => {
12771276
// fail again
12781277
const lengthBefore = results.length
12791278
observer.refetch()
1280-
await vi.advanceTimersByTimeAsync(5)
1279+
await vi.advanceTimersByTimeAsync(4)
12811280
expect(results.length).toBeGreaterThan(lengthBefore)
12821281
expect(results.at(-1)?.status).toBe('error')
12831282

@@ -1292,7 +1291,7 @@ describe('queryObserver', () => {
12921291
succeeds = true
12931292
observer.refetch()
12941293

1295-
await vi.advanceTimersByTimeAsync(5)
1294+
await vi.advanceTimersByTimeAsync(0)
12961295
results.at(-1)?.status === 'success'
12971296

12981297
const numberOfUniquePromises = new Set(
@@ -1389,7 +1388,7 @@ describe('queryObserver', () => {
13891388
refetchOnMount: 'always',
13901389
})
13911390
const unsubscribe = observer.subscribe(() => undefined)
1392-
await vi.advanceTimersByTimeAsync(1)
1391+
await vi.advanceTimersByTimeAsync(0)
13931392
expect(queryFn).toHaveBeenCalledTimes(0)
13941393
unsubscribe()
13951394
})

0 commit comments

Comments
 (0)