Skip to content

Commit 7781a3e

Browse files
test(svelte-query/createQueries): switch to fake timers, replace 'vi.waitFor' with 'vi.advanceTimersByTimeAsync', and move 'queryClient' to 'beforeEach' (TanStack#10388)
* test(svelte-query/createQueries): switch to fake timers, replace 'vi.waitFor' with 'vi.advanceTimersByTimeAsync', and move 'queryClient' to 'beforeEach' * ci: apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
1 parent 4b2cd73 commit 7781a3e

1 file changed

Lines changed: 40 additions & 33 deletions

File tree

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

Lines changed: 40 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
import { afterEach, describe, expect, expectTypeOf, it, vi } from 'vitest'
1+
import {
2+
afterEach,
3+
beforeEach,
4+
describe,
5+
expect,
6+
expectTypeOf,
7+
it,
8+
vi,
9+
} from 'vitest'
210
import { render } from '@testing-library/svelte'
311
import { sleep } from '@tanstack/query-test-utils'
412
import { QueryClient, createQueries } from '../../src/index.js'
@@ -14,9 +22,15 @@ import type {
1422
} from '../../src/index.js'
1523

1624
describe('createQueries', () => {
17-
const queryClient = new QueryClient()
25+
let queryClient: QueryClient
26+
27+
beforeEach(() => {
28+
vi.useFakeTimers()
29+
queryClient = new QueryClient()
30+
})
1831

1932
afterEach(() => {
33+
vi.useRealTimers()
2034
queryClient.clear()
2135
})
2236

@@ -50,11 +64,12 @@ describe('createQueries', () => {
5064
})
5165

5266
resolve1(1)
53-
54-
await vi.waitFor(() => expect(result[0].data).toBe(1))
67+
await vi.advanceTimersByTimeAsync(0)
68+
expect(result[0].data).toBe(1)
5569

5670
resolve2(2)
57-
await vi.waitFor(() => expect(result[1].data).toBe(2))
71+
await vi.advanceTimersByTimeAsync(0)
72+
expect(result[1].data).toBe(2)
5873

5974
expect(results.length).toBe(3)
6075
expect(results[0]).toMatchObject([
@@ -755,7 +770,8 @@ describe('createQueries', () => {
755770
results.push([result[0]])
756771
})
757772

758-
await vi.waitFor(() => expect(result[0].data).toBe(1))
773+
await vi.advanceTimersByTimeAsync(0)
774+
expect(result[0].data).toBe(1)
759775

760776
expect(results.length).toBe(2)
761777
expect(results[0]).toMatchObject([{ data: undefined }])
@@ -764,7 +780,8 @@ describe('createQueries', () => {
764780
// Trigger refetch
765781
result[0].refetch()
766782

767-
await vi.waitFor(() => expect(result[0].data).toBe(2))
783+
await vi.advanceTimersByTimeAsync(0)
784+
expect(result[0].data).toBe(2)
768785

769786
// Only one render for data update, no render for isFetching transition
770787
expect(results.length).toBe(3)
@@ -815,13 +832,13 @@ describe('createQueries', () => {
815832

816833
// Resolve the first query
817834
resolve1('first result')
818-
await vi.waitFor(() => expect(queries.res).toBe('first result'))
835+
await vi.advanceTimersByTimeAsync(0)
836+
expect(queries.res).toBe('first result')
819837

820838
// Resolve the second query
821839
resolve2('second result')
822-
await vi.waitFor(() =>
823-
expect(queries.res).toBe('first result,second result'),
824-
)
840+
await vi.advanceTimersByTimeAsync(0)
841+
expect(queries.res).toBe('first result,second result')
825842

826843
expect(queries).toEqual({
827844
combined: true,
@@ -878,17 +895,17 @@ describe('createQueries', () => {
878895
})
879896

880897
// Initially both queries are loading
881-
await vi.waitFor(() =>
882-
expect(results[0]).toStrictEqual({
883-
combined: true,
884-
refetch: expect.any(Function),
885-
res: '',
886-
}),
887-
)
898+
await vi.advanceTimersByTimeAsync(0)
899+
expect(results[0]).toStrictEqual({
900+
combined: true,
901+
refetch: expect.any(Function),
902+
res: '',
903+
})
888904

889905
// Resolve the first query
890906
resolve1('first result ' + count)
891-
await vi.waitFor(() => expect(queries.res).toBe('first result 0'))
907+
await vi.advanceTimersByTimeAsync(0)
908+
expect(queries.res).toBe('first result 0')
892909

893910
expect(results[1]).toStrictEqual({
894911
combined: true,
@@ -898,9 +915,8 @@ describe('createQueries', () => {
898915

899916
// Resolve the second query
900917
resolve2('second result ' + count)
901-
await vi.waitFor(() =>
902-
expect(queries.res).toBe('first result 0,second result 0'),
903-
)
918+
await vi.advanceTimersByTimeAsync(0)
919+
expect(queries.res).toBe('first result 0,second result 0')
904920

905921
expect(results[2]).toStrictEqual({
906922
combined: true,
@@ -916,9 +932,8 @@ describe('createQueries', () => {
916932
resolve3('first result ' + count)
917933
resolve4('second result ' + count)
918934

919-
await vi.waitFor(() =>
920-
expect(queries.res).toBe('first result 1,second result 1'),
921-
)
935+
await vi.advanceTimersByTimeAsync(0)
936+
expect(queries.res).toBe('first result 1,second result 1')
922937

923938
const length = results.length
924939
expect(results.at(-1)).toStrictEqual({
@@ -936,8 +951,6 @@ describe('createQueries', () => {
936951
)
937952

938953
it('should not fetch for the duration of the restoring period when isRestoring is true', async () => {
939-
vi.useFakeTimers()
940-
941954
const queryFn1 = vi.fn(() => sleep(10).then(() => 'data1'))
942955
const queryFn2 = vi.fn(() => sleep(10).then(() => 'data2'))
943956

@@ -966,13 +979,9 @@ describe('createQueries', () => {
966979
expect(rendered.getByTestId('data2')).toHaveTextContent('undefined')
967980
expect(queryFn1).toHaveBeenCalledTimes(0)
968981
expect(queryFn2).toHaveBeenCalledTimes(0)
969-
970-
vi.useRealTimers()
971982
})
972983

973984
it('should not fetch queries with different durations for the duration of the restoring period when isRestoring is true', async () => {
974-
vi.useFakeTimers()
975-
976985
const queryFn1 = vi.fn(() => sleep(10).then(() => 'data1'))
977986
const queryFn2 = vi.fn(() => sleep(20).then(() => 'data2'))
978987

@@ -1012,7 +1021,5 @@ describe('createQueries', () => {
10121021
expect(rendered.getByTestId('data2')).toHaveTextContent('undefined')
10131022
expect(queryFn1).toHaveBeenCalledTimes(0)
10141023
expect(queryFn2).toHaveBeenCalledTimes(0)
1015-
1016-
vi.useRealTimers()
10171024
})
10181025
})

0 commit comments

Comments
 (0)