Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions packages/query-core/src/__tests__/infiniteQueryBehavior.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -376,32 +376,32 @@ describe('InfiniteQueryBehavior', () => {
})

// Fetch Page 1
await vi.waitFor(async () => {
const page1Data = await observer.fetchNextPage()
expect(page1Data.data?.pageParams).toEqual([1])
})
const fetchPage1Promise = observer.fetchNextPage()
await vi.advanceTimersByTimeAsync(10)
const page1Data = await fetchPage1Promise
expect(page1Data.data?.pageParams).toEqual([1])

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

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

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

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