diff --git a/packages/react-query/src/__tests__/suspense.test.tsx b/packages/react-query/src/__tests__/suspense.test.tsx index 8123fff1a1..409cdfcbce 100644 --- a/packages/react-query/src/__tests__/suspense.test.tsx +++ b/packages/react-query/src/__tests__/suspense.test.tsx @@ -1,7 +1,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { act, render } from '@testing-library/react' import { Suspense } from 'react' -import { queryKey } from '@tanstack/query-test-utils' +import { queryKey, sleep } from '@tanstack/query-test-utils' import { QueryClient, QueryClientProvider, useSuspenseQuery } from '..' import type { QueryKey } from '..' @@ -21,10 +21,11 @@ function createTestQuery(options: { return function TestComponent() { const { data } = useSuspenseQuery({ queryKey: options.queryKey, - queryFn: () => { - options.fetchCount.count++ - return Promise.resolve('data') - }, + queryFn: () => + sleep(10).then(() => { + options.fetchCount.count++ + return 'data' + }), staleTime: options.staleTime, }) return
data: {data}
@@ -60,7 +61,8 @@ describe('Suspense Timer Tests', () => { const rendered = renderWithSuspense(queryClient, ) - await act(() => vi.advanceTimersByTimeAsync(0)) + expect(rendered.getByText('loading')).toBeInTheDocument() + await act(() => vi.advanceTimersByTimeAsync(10)) expect(rendered.getByText('data: data')).toBeInTheDocument() rendered.rerender( @@ -85,7 +87,8 @@ describe('Suspense Timer Tests', () => { const rendered = renderWithSuspense(queryClient, ) - await act(() => vi.advanceTimersByTimeAsync(0)) + expect(rendered.getByText('loading')).toBeInTheDocument() + await act(() => vi.advanceTimersByTimeAsync(10)) expect(rendered.getByText('data: data')).toBeInTheDocument() rendered.rerender( @@ -110,7 +113,8 @@ describe('Suspense Timer Tests', () => { const rendered = renderWithSuspense(queryClient, ) - await act(() => vi.advanceTimersByTimeAsync(0)) + expect(rendered.getByText('loading')).toBeInTheDocument() + await act(() => vi.advanceTimersByTimeAsync(10)) expect(rendered.getByText('data: data')).toBeInTheDocument() rendered.rerender( @@ -135,7 +139,8 @@ describe('Suspense Timer Tests', () => { const rendered = renderWithSuspense(queryClient, ) - await act(() => vi.advanceTimersByTimeAsync(0)) + expect(rendered.getByText('loading')).toBeInTheDocument() + await act(() => vi.advanceTimersByTimeAsync(10)) expect(rendered.getByText('data: data')).toBeInTheDocument() rendered.rerender( @@ -160,7 +165,8 @@ describe('Suspense Timer Tests', () => { const rendered = renderWithSuspense(queryClient, ) - await act(() => vi.advanceTimersByTimeAsync(0)) + expect(rendered.getByText('loading')).toBeInTheDocument() + await act(() => vi.advanceTimersByTimeAsync(10)) expect(rendered.getByText('data: data')).toBeInTheDocument() rendered.rerender(