@@ -62,12 +62,12 @@ describe('useIsMutating', () => {
62
62
// [ +0, 1, 2, 1, +0 ]
63
63
// our batching strategy might yield different results
64
64
65
- await vi . waitFor ( ( ) => expect ( isMutatingArray [ 0 ] ) . toEqual ( 0 ) )
66
- await vi . waitFor ( ( ) => expect ( isMutatingArray [ 1 ] ) . toEqual ( 1 ) )
67
- await vi . waitFor ( ( ) => expect ( isMutatingArray [ 2 ] ) . toEqual ( 2 ) )
68
- await vi . waitFor ( ( ) =>
69
- expect ( isMutatingArray [ isMutatingArray . length - 1 ] ) . toEqual ( 0 ) ,
70
- )
65
+ await vi . advanceTimersByTimeAsync ( 40 )
66
+ expect ( isMutatingArray [ 0 ] ) . toEqual ( 0 )
67
+ expect ( isMutatingArray [ 1 ] ) . toEqual ( 1 )
68
+ expect ( isMutatingArray [ 2 ] ) . toEqual ( 2 )
69
+ await vi . advanceTimersByTimeAsync ( 1 )
70
+ expect ( isMutatingArray [ isMutatingArray . length - 1 ] ) . toEqual ( 0 )
71
71
} )
72
72
73
73
it ( 'should filter correctly by mutationKey' , async ( ) => {
@@ -99,7 +99,8 @@ describe('useIsMutating', () => {
99
99
}
100
100
101
101
renderWithClient ( queryClient , < Page /> )
102
- await vi . waitFor ( ( ) => expect ( isMutatingArray ) . toEqual ( [ 0 , 1 , 0 ] ) )
102
+ await vi . advanceTimersByTimeAsync ( 101 )
103
+ expect ( isMutatingArray ) . toEqual ( [ 0 , 1 , 0 ] )
103
104
} )
104
105
105
106
it ( 'should filter correctly by predicate' , async ( ) => {
@@ -134,7 +135,8 @@ describe('useIsMutating', () => {
134
135
}
135
136
136
137
renderWithClient ( queryClient , < Page /> )
137
- await vi . waitFor ( ( ) => expect ( isMutatingArray ) . toEqual ( [ 0 , 1 , 0 ] ) )
138
+ await vi . advanceTimersByTimeAsync ( 101 )
139
+ expect ( isMutatingArray ) . toEqual ( [ 0 , 1 , 0 ] )
138
140
} )
139
141
140
142
it ( 'should use provided custom queryClient' , async ( ) => {
@@ -163,13 +165,20 @@ describe('useIsMutating', () => {
163
165
164
166
const rendered = render ( < Page > </ Page > )
165
167
166
- await vi . waitFor ( ( ) =>
167
- expect ( rendered . getByText ( 'mutating: 1' ) ) . toBeInTheDocument ( ) ,
168
- )
168
+ await vi . advanceTimersByTimeAsync ( 0 )
169
+ expect ( rendered . getByText ( 'mutating: 1' ) ) . toBeInTheDocument ( )
169
170
} )
170
171
} )
171
172
172
173
describe ( 'useMutationState' , ( ) => {
174
+ beforeEach ( ( ) => {
175
+ vi . useFakeTimers ( )
176
+ } )
177
+
178
+ afterEach ( ( ) => {
179
+ vi . useRealTimers ( )
180
+ } )
181
+
173
182
it ( 'should return variables after calling mutate' , async ( ) => {
174
183
const queryClient = new QueryClient ( )
175
184
const variables : Array < Array < unknown > > = [ ]
@@ -211,11 +220,12 @@ describe('useMutationState', () => {
211
220
212
221
const rendered = renderWithClient ( queryClient , < Page /> )
213
222
214
- await vi . waitFor ( ( ) => rendered . getByText ( 'data: null' ) )
223
+ rendered . getByText ( 'data: null' )
215
224
216
225
fireEvent . click ( rendered . getByRole ( 'button' , { name : / m u t a t e / i } ) )
217
226
218
- await vi . waitFor ( ( ) => rendered . getByText ( 'data: data1' ) )
227
+ await vi . advanceTimersByTimeAsync ( 151 )
228
+ rendered . getByText ( 'data: data1' )
219
229
220
230
expect ( variables ) . toEqual ( [ [ ] , [ 1 ] , [ ] ] )
221
231
} )
0 commit comments