Skip to content

Commit d5a4d35

Browse files
sukvvonmanudeli
andauthored
test(query-core/infiniteQueryBehavior): remove 'vi.waitFor', and add 'advanceTimersByTimeAsync' in infinite loop on retry test (#9426)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent 357bafb commit d5a4d35

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

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

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -376,32 +376,32 @@ describe('InfiniteQueryBehavior', () => {
376376
})
377377

378378
// Fetch Page 1
379-
await vi.waitFor(async () => {
380-
const page1Data = await observer.fetchNextPage()
381-
expect(page1Data.data?.pageParams).toEqual([1])
382-
})
379+
const fetchPage1Promise = observer.fetchNextPage()
380+
await vi.advanceTimersByTimeAsync(10)
381+
const page1Data = await fetchPage1Promise
382+
expect(page1Data.data?.pageParams).toEqual([1])
383383

384384
// Fetch Page 2, as per the queryFn, this will reject 2 times then resolves
385-
await vi.waitFor(async () => {
386-
const page2Data = await observer.fetchNextPage()
387-
expect(page2Data.data?.pageParams).toEqual([1, 2])
388-
})
385+
const fetchPage2Promise = observer.fetchNextPage()
386+
await vi.advanceTimersByTimeAsync(70)
387+
const page2Data = await fetchPage2Promise
388+
expect(page2Data.data?.pageParams).toEqual([1, 2])
389389

390390
// Fetch Page 3
391-
await vi.waitFor(async () => {
392-
const page3Data = await observer.fetchNextPage()
393-
expect(page3Data.data?.pageParams).toEqual([1, 2, 3])
394-
})
391+
const fetchPage3Promise = observer.fetchNextPage()
392+
await vi.advanceTimersByTimeAsync(10)
393+
const page3Data = await fetchPage3Promise
394+
expect(page3Data.data?.pageParams).toEqual([1, 2, 3])
395395

396396
// Now the real deal; re-fetching this query **should not** stamp into an
397397
// infinite loop where the retryer every time restarts from page 1
398398
// once it reaches the page where it errors.
399399
// For this to work, we'd need to reset the error count so we actually retry
400400
errorCount = 0
401-
await vi.waitFor(async () => {
402-
const reFetchedData = await observer.refetch()
403-
expect(reFetchedData.data?.pageParams).toEqual([1, 2, 3])
404-
})
401+
const reFetchPromise = observer.fetchNextPage()
402+
await vi.advanceTimersByTimeAsync(10)
403+
const reFetchedData = await reFetchPromise
404+
expect(reFetchedData.data?.pageParams).toEqual([1, 2, 3])
405405
})
406406

407407
test('should fetch even if initialPageParam is null', async () => {

0 commit comments

Comments
 (0)