Skip to content

Commit f8a20ac

Browse files
sukvvonmanudeli
andauthored
test(svelte-query/createQuery): remove 'vi.waitFor', and add 'advanceTimersByTimeAsync' (#9416)
Co-authored-by: Jonghyeon Ko <[email protected]>
1 parent 431784d commit f8a20ac

File tree

1 file changed

+41
-51
lines changed

1 file changed

+41
-51
lines changed

packages/svelte-query/tests/createQuery/createQuery.test.ts

Lines changed: 41 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,8 @@ describe('createQuery', () => {
3838
},
3939
})
4040

41-
await vi.waitFor(() => {
42-
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
43-
})
41+
await vi.advanceTimersByTimeAsync(6)
42+
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
4443

4544
const states = get(statesStore)
4645

@@ -106,7 +105,7 @@ describe('createQuery', () => {
106105

107106
const options = {
108107
queryKey: ['test'],
109-
queryFn: async () => Promise.reject(new Error('Rejected')),
108+
queryFn: () => Promise.reject(new Error('Rejected')),
110109
retry: 1,
111110
retryDelay: 1,
112111
}
@@ -119,9 +118,8 @@ describe('createQuery', () => {
119118
},
120119
})
121120

122-
await vi.waitFor(() =>
123-
expect(rendered.getByText('Status: error')).toBeInTheDocument(),
124-
)
121+
await vi.advanceTimersByTimeAsync(2)
122+
expect(rendered.getByText('Status: error')).toBeInTheDocument()
125123

126124
const states = get(statesStore)
127125

@@ -228,9 +226,8 @@ describe('createQuery', () => {
228226
},
229227
})
230228

231-
await vi.waitFor(() => {
232-
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
233-
})
229+
await vi.advanceTimersByTimeAsync(6)
230+
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
234231
})
235232

236233
test('Accept a derived store for options', async () => {
@@ -254,9 +251,8 @@ describe('createQuery', () => {
254251
},
255252
})
256253

257-
await vi.waitFor(() => {
258-
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
259-
})
254+
await vi.advanceTimersByTimeAsync(6)
255+
expect(rendered.queryByText('Status: success')).toBeInTheDocument()
260256
})
261257

262258
test('Ensure reactivity when queryClient defaults are set', async () => {
@@ -282,24 +278,21 @@ describe('createQuery', () => {
282278
},
283279
})
284280

285-
await vi.waitFor(() => {
286-
expect(rendered.queryByText('Data: 1')).toBeInTheDocument()
287-
expect(rendered.queryByText('Data: 2')).not.toBeInTheDocument()
288-
})
281+
await vi.advanceTimersByTimeAsync(6)
282+
expect(rendered.queryByText('Data: 1')).toBeInTheDocument()
283+
expect(rendered.queryByText('Data: 2')).not.toBeInTheDocument()
289284

290285
writableStore.set(2)
291286

292-
await vi.waitFor(() => {
293-
expect(rendered.queryByText('Data: 1')).not.toBeInTheDocument()
294-
expect(rendered.queryByText('Data: 2')).toBeInTheDocument()
295-
})
287+
await vi.advanceTimersByTimeAsync(6)
288+
expect(rendered.queryByText('Data: 1')).not.toBeInTheDocument()
289+
expect(rendered.queryByText('Data: 2')).toBeInTheDocument()
296290

297291
writableStore.set(1)
298292

299-
await vi.waitFor(() => {
300-
expect(rendered.queryByText('Data: 1')).toBeInTheDocument()
301-
expect(rendered.queryByText('Data: 2')).not.toBeInTheDocument()
302-
})
293+
await vi.advanceTimersByTimeAsync(6)
294+
expect(rendered.queryByText('Data: 1')).toBeInTheDocument()
295+
expect(rendered.queryByText('Data: 2')).not.toBeInTheDocument()
303296
})
304297

305298
test('Keep previous data when placeholderData is set', async () => {
@@ -312,15 +305,12 @@ describe('createQuery', () => {
312305
},
313306
})
314307

315-
await vi.waitFor(() =>
316-
expect(rendered.getByText('Data: 0')).toBeInTheDocument(),
317-
)
308+
await vi.advanceTimersByTimeAsync(6)
309+
expect(rendered.getByText('Data: 0')).toBeInTheDocument()
318310

319311
fireEvent.click(rendered.getByRole('button', { name: 'setCount' }))
320-
321-
await vi.waitFor(() =>
322-
expect(rendered.getByText('Data: 1')).toBeInTheDocument(),
323-
)
312+
await vi.advanceTimersByTimeAsync(6)
313+
expect(rendered.getByText('Data: 1')).toBeInTheDocument()
324314

325315
const states = get(statesStore)
326316

@@ -368,20 +358,17 @@ describe('createQuery', () => {
368358
},
369359
})
370360

371-
await vi.waitFor(() =>
372-
expect(rendered.getByText('Data: 0')).toBeInTheDocument(),
373-
)
361+
await vi.advanceTimersByTimeAsync(6)
362+
expect(rendered.getByText('Data: 0')).toBeInTheDocument()
374363

375364
fireEvent.click(rendered.getByRole('button', { name: /Increment/i }))
376-
377-
await vi.waitFor(() => {
378-
expect(rendered.getByText('Count: 1')).toBeInTheDocument()
379-
expect(rendered.getByText('Data: undefined')).toBeInTheDocument()
380-
})
365+
await vi.advanceTimersByTimeAsync(0)
366+
expect(rendered.getByText('Count: 1')).toBeInTheDocument()
367+
expect(rendered.getByText('Data: undefined')).toBeInTheDocument()
381368

382369
const states = get(statesStore)
383370

384-
expect(states).toHaveLength(3)
371+
expect(states).toHaveLength(4)
385372

386373
// Fetch query
387374
expect(states[0]).toMatchObject({
@@ -397,12 +384,19 @@ describe('createQuery', () => {
397384
isSuccess: true,
398385
})
399386

400-
// Switch to disabled query
387+
// Switch to query disable
401388
expect(states[2]).toMatchObject({
402389
data: undefined,
403390
isFetching: false,
404391
isSuccess: false,
405392
})
393+
394+
// Fetched disabled query
395+
expect(states[3]).toMatchObject({
396+
data: undefined,
397+
isFetching: false,
398+
isSuccess: false,
399+
})
406400
})
407401

408402
test('Create a new query when refetching a removed query', async () => {
@@ -414,17 +408,13 @@ describe('createQuery', () => {
414408
},
415409
})
416410

417-
await vi.waitFor(() =>
418-
expect(rendered.getByText('Data: 1')).toBeInTheDocument(),
419-
)
420-
fireEvent.click(rendered.getByRole('button', { name: /Remove/i }))
421-
422-
await vi.advanceTimersByTimeAsync(5)
411+
await vi.advanceTimersByTimeAsync(6)
412+
expect(rendered.getByText('Data: 1')).toBeInTheDocument()
423413

414+
fireEvent.click(rendered.getByRole('button', { name: /Remove/i }))
424415
fireEvent.click(rendered.getByRole('button', { name: /Refetch/i }))
425-
await vi.waitFor(() =>
426-
expect(rendered.getByText('Data: 2')).toBeInTheDocument(),
427-
)
416+
await vi.advanceTimersByTimeAsync(6)
417+
expect(rendered.getByText('Data: 2')).toBeInTheDocument()
428418

429419
const states = get(statesStore)
430420

0 commit comments

Comments
 (0)