1- import  {  act ,  render ,  waitFor  }  from  '@testing-library/react' 
1+ import  {  afterEach ,  beforeEach ,  describe ,  expect ,  it ,  vi  }  from  'vitest' 
2+ import  {  act ,  render  }  from  '@testing-library/react' 
23import  {  Suspense  }  from  'react' 
3- import  { 
4-   afterAll , 
5-   beforeAll , 
6-   beforeEach , 
7-   describe , 
8-   expect , 
9-   it , 
10-   vi , 
11- }  from  'vitest' 
124import  {  queryKey  }  from  '@tanstack/query-test-utils' 
135import  {  QueryClient ,  QueryClientProvider ,  useSuspenseQuery  }  from  '..' 
146import  type  {  QueryKey  }  from  '..' 
@@ -43,15 +35,8 @@ describe('Suspense Timer Tests', () => {
4335  let  queryClient : QueryClient 
4436  let  fetchCount : {  count : number  } 
4537
46-   beforeAll ( ( )  =>  { 
47-     vi . useFakeTimers ( {  shouldAdvanceTime : true  } ) 
48-   } ) 
49- 
50-   afterAll ( ( )  =>  { 
51-     vi . useRealTimers ( ) 
52-   } ) 
53- 
5438  beforeEach ( ( )  =>  { 
39+     vi . useFakeTimers ( ) 
5540    queryClient  =  new  QueryClient ( { 
5641      defaultOptions : { 
5742        queries : { 
@@ -62,6 +47,10 @@ describe('Suspense Timer Tests', () => {
6247    fetchCount  =  {  count : 0  } 
6348  } ) 
6449
50+   afterEach ( ( )  =>  { 
51+     vi . useRealTimers ( ) 
52+   } ) 
53+ 
6554  it ( 'should enforce minimum staleTime of 1000ms when using suspense with number' ,  async  ( )  =>  { 
6655    const  TestComponent  =  createTestQuery ( { 
6756      fetchCount, 
@@ -71,7 +60,8 @@ describe('Suspense Timer Tests', () => {
7160
7261    const  rendered  =  renderWithSuspense ( queryClient ,  < TestComponent  /> ) 
7362
74-     await  waitFor ( ( )  =>  rendered . getByText ( 'data: data' ) ) 
63+     await  act ( ( )  =>  vi . advanceTimersByTime ( 0 ) ) 
64+     rendered . getByText ( 'data: data' ) 
7565
7666    rendered . rerender ( 
7767      < QueryClientProvider  client = { queryClient } > 
@@ -81,9 +71,7 @@ describe('Suspense Timer Tests', () => {
8171      </ QueryClientProvider > , 
8272    ) 
8373
84-     act ( ( )  =>  { 
85-       vi . advanceTimersByTime ( 100 ) 
86-     } ) 
74+     await  act ( ( )  =>  vi . advanceTimersByTime ( 100 ) ) 
8775
8876    expect ( fetchCount . count ) . toBe ( 1 ) 
8977  } ) 
@@ -97,7 +85,8 @@ describe('Suspense Timer Tests', () => {
9785
9886    const  rendered  =  renderWithSuspense ( queryClient ,  < TestComponent  /> ) 
9987
100-     await  waitFor ( ( )  =>  rendered . getByText ( 'data: data' ) ) 
88+     await  act ( ( )  =>  vi . advanceTimersByTime ( 0 ) ) 
89+     rendered . getByText ( 'data: data' ) 
10190
10291    rendered . rerender ( 
10392      < QueryClientProvider  client = { queryClient } > 
@@ -107,9 +96,7 @@ describe('Suspense Timer Tests', () => {
10796      </ QueryClientProvider > , 
10897    ) 
10998
110-     act ( ( )  =>  { 
111-       vi . advanceTimersByTime ( 100 ) 
112-     } ) 
99+     await  act ( ( )  =>  vi . advanceTimersByTime ( 100 ) ) 
113100
114101    expect ( fetchCount . count ) . toBe ( 1 ) 
115102  } ) 
@@ -123,7 +110,8 @@ describe('Suspense Timer Tests', () => {
123110
124111    const  rendered  =  renderWithSuspense ( queryClient ,  < TestComponent  /> ) 
125112
126-     await  waitFor ( ( )  =>  rendered . getByText ( 'data: data' ) ) 
113+     await  act ( ( )  =>  vi . advanceTimersByTime ( 0 ) ) 
114+     rendered . getByText ( 'data: data' ) 
127115
128116    rendered . rerender ( 
129117      < QueryClientProvider  client = { queryClient } > 
@@ -133,9 +121,7 @@ describe('Suspense Timer Tests', () => {
133121      </ QueryClientProvider > , 
134122    ) 
135123
136-     act ( ( )  =>  { 
137-       vi . advanceTimersByTime ( 1500 ) 
138-     } ) 
124+     await  act ( ( )  =>  vi . advanceTimersByTime ( 1500 ) ) 
139125
140126    expect ( fetchCount . count ) . toBe ( 1 ) 
141127  } ) 
@@ -149,7 +135,8 @@ describe('Suspense Timer Tests', () => {
149135
150136    const  rendered  =  renderWithSuspense ( queryClient ,  < TestComponent  /> ) 
151137
152-     await  waitFor ( ( )  =>  rendered . getByText ( 'data: data' ) ) 
138+     await  act ( ( )  =>  vi . advanceTimersByTime ( 0 ) ) 
139+     rendered . getByText ( 'data: data' ) 
153140
154141    rendered . rerender ( 
155142      < QueryClientProvider  client = { queryClient } > 
@@ -159,9 +146,7 @@ describe('Suspense Timer Tests', () => {
159146      </ QueryClientProvider > , 
160147    ) 
161148
162-     act ( ( )  =>  { 
163-       vi . advanceTimersByTime ( 500 ) 
164-     } ) 
149+     await  act ( ( )  =>  vi . advanceTimersByTime ( 500 ) ) 
165150
166151    expect ( fetchCount . count ) . toBe ( 1 ) 
167152  } ) 
@@ -175,7 +160,8 @@ describe('Suspense Timer Tests', () => {
175160
176161    const  rendered  =  renderWithSuspense ( queryClient ,  < TestComponent  /> ) 
177162
178-     await  waitFor ( ( )  =>  rendered . getByText ( 'data: data' ) ) 
163+     await  act ( ( )  =>  vi . advanceTimersByTime ( 0 ) ) 
164+     rendered . getByText ( 'data: data' ) 
179165
180166    rendered . rerender ( 
181167      < QueryClientProvider  client = { queryClient } > 
@@ -185,9 +171,7 @@ describe('Suspense Timer Tests', () => {
185171      </ QueryClientProvider > , 
186172    ) 
187173
188-     act ( ( )  =>  { 
189-       vi . advanceTimersByTime ( 2000 ) 
190-     } ) 
174+     await  act ( ( )  =>  vi . advanceTimersByTime ( 2000 ) ) 
191175
192176    expect ( fetchCount . count ) . toBe ( 1 ) 
193177  } ) 
0 commit comments