Skip to content

Commit 599e51d

Browse files
authored
test(vue-query): replace hardcoded query keys with 'queryKey()' utility (TanStack#10524)
1 parent 5b5d1db commit 599e51d

9 files changed

+64
-49
lines changed

packages/vue-query/src/__tests__/infiniteQueryOptions.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { describe, expect, it } from 'vitest'
2+
import { queryKey } from '@tanstack/query-test-utils'
23
import { infiniteQueryOptions } from '../infiniteQueryOptions'
34

45
describe('infiniteQueryOptions', () => {
56
it('should return the object received as a parameter without any modification.', () => {
67
const object = {
7-
queryKey: ['key'],
8+
queryKey: queryKey(),
89
queryFn: () => Promise.resolve(5),
910
getNextPageParam: () => null,
1011
initialPageParam: null,

packages/vue-query/src/__tests__/queryOptions.test-d.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ describe('queryOptions', () => {
123123
const ref1 = ref(1)
124124
const ref2 = ref(2)
125125
const options = queryOptions(() => ({
126-
queryKey: ['key', ref1.value, { nested: ref2.value }],
126+
queryKey: [...queryKey(), ref1.value, { nested: ref2.value }],
127127
queryFn: () => Promise.resolve(5),
128128
}))
129129

@@ -233,7 +233,7 @@ describe('queryOptions', () => {
233233

234234
it('should allow accessing queryFn and other properties on the returned options object', () => {
235235
const options = queryOptions({
236-
queryKey: ['groups'],
236+
queryKey: queryKey(),
237237
queryFn: () => Promise.resolve([]),
238238
})
239239

@@ -244,7 +244,7 @@ describe('queryOptions', () => {
244244

245245
it('should allow accessing queryFn and other properties on the returned options when used with getter', () => {
246246
const options = queryOptions(() => ({
247-
queryKey: ['groups'],
247+
queryKey: queryKey(),
248248
queryFn: () => Promise.resolve([]),
249249
}))
250250

@@ -259,7 +259,7 @@ describe('queryOptions', () => {
259259

260260
// This was broken in #10452, fixed in #10458
261261
const options = queryOptions({
262-
queryKey: ['key'],
262+
queryKey: queryKey(),
263263
queryFn: () => Promise.resolve(1),
264264
enabled,
265265
})
@@ -271,7 +271,7 @@ describe('queryOptions', () => {
271271
const enabled = ref(true)
272272

273273
const options = queryOptions({
274-
queryKey: ['key'],
274+
queryKey: queryKey(),
275275
queryFn: () => Promise.resolve(1),
276276
enabled,
277277
})
@@ -281,7 +281,7 @@ describe('queryOptions', () => {
281281

282282
it('should allow boolean as enabled property', () => {
283283
const options = queryOptions({
284-
queryKey: ['key'],
284+
queryKey: queryKey(),
285285
queryFn: () => Promise.resolve(1),
286286
enabled: true,
287287
})
@@ -291,7 +291,7 @@ describe('queryOptions', () => {
291291

292292
it('should allow getter function as enabled property', () => {
293293
const options = queryOptions({
294-
queryKey: ['key'],
294+
queryKey: queryKey(),
295295
queryFn: () => Promise.resolve(1),
296296
enabled: () => true,
297297
})

packages/vue-query/src/__tests__/queryOptions.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { describe, expect, it } from 'vitest'
2+
import { queryKey } from '@tanstack/query-test-utils'
23
import { queryOptions } from '../queryOptions'
34
import type { QueryOptions } from '../queryOptions'
45

56
describe('queryOptions', () => {
67
it('should return the object received as a parameter without any modification.', () => {
78
const object: QueryOptions = {
8-
queryKey: ['key'],
9+
queryKey: queryKey(),
910
queryFn: () => Promise.resolve(5),
1011
} as const
1112

packages/vue-query/src/__tests__/usePrefetchInfiniteQuery.test-d.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { assertType, describe, expectTypeOf, it } from 'vitest'
22
import { ref } from 'vue-demi'
33
import { skipToken } from '@tanstack/query-core'
4+
import { queryKey } from '@tanstack/query-test-utils'
45
import { usePrefetchInfiniteQuery } from '..'
56

67
describe('usePrefetchInfiniteQuery', () => {
78
it('should return nothing', () => {
89
const result = usePrefetchInfiniteQuery({
9-
queryKey: ['key'],
10+
queryKey: queryKey(),
1011
queryFn: () => Promise.resolve(5),
1112
initialPageParam: 1,
1213
getNextPageParam: () => 1,
@@ -19,7 +20,7 @@ describe('usePrefetchInfiniteQuery', () => {
1920
assertType(
2021
// @ts-expect-error TS2345
2122
usePrefetchInfiniteQuery({
22-
queryKey: ['key'],
23+
queryKey: queryKey(),
2324
queryFn: () => Promise.resolve(5),
2425
}),
2526
)
@@ -28,7 +29,7 @@ describe('usePrefetchInfiniteQuery', () => {
2829
it('should not allow refetchInterval, enabled or throwOnError options', () => {
2930
assertType(
3031
usePrefetchInfiniteQuery({
31-
queryKey: ['key'],
32+
queryKey: queryKey(),
3233
queryFn: () => Promise.resolve(5),
3334
initialPageParam: 1,
3435
getNextPageParam: () => 1,
@@ -39,7 +40,7 @@ describe('usePrefetchInfiniteQuery', () => {
3940

4041
assertType(
4142
usePrefetchInfiniteQuery({
42-
queryKey: ['key'],
43+
queryKey: queryKey(),
4344
queryFn: () => Promise.resolve(5),
4445
initialPageParam: 1,
4546
getNextPageParam: () => 1,
@@ -50,7 +51,7 @@ describe('usePrefetchInfiniteQuery', () => {
5051

5152
assertType(
5253
usePrefetchInfiniteQuery({
53-
queryKey: ['key'],
54+
queryKey: queryKey(),
5455
queryFn: () => Promise.resolve(5),
5556
initialPageParam: 1,
5657
getNextPageParam: () => 1,
@@ -63,7 +64,7 @@ describe('usePrefetchInfiniteQuery', () => {
6364
it('should accept refs in infinite query options', () => {
6465
assertType(
6566
usePrefetchInfiniteQuery({
66-
queryKey: ['key', ref('id')],
67+
queryKey: [...queryKey(), ref('id')],
6768
queryFn: () => Promise.resolve(5),
6869
initialPageParam: ref(1),
6970
getNextPageParam: () => 1,
@@ -75,7 +76,7 @@ describe('usePrefetchInfiniteQuery', () => {
7576
it('should not allow skipToken in queryFn', () => {
7677
assertType(
7778
usePrefetchInfiniteQuery({
78-
queryKey: ['key'],
79+
queryKey: queryKey(),
7980
initialPageParam: 1,
8081
getNextPageParam: () => 1,
8182
// @ts-expect-error
@@ -85,7 +86,7 @@ describe('usePrefetchInfiniteQuery', () => {
8586

8687
assertType(
8788
usePrefetchInfiniteQuery({
88-
queryKey: ['key'],
89+
queryKey: queryKey(),
8990
initialPageParam: 1,
9091
getNextPageParam: () => 1,
9192
// @ts-expect-error

packages/vue-query/src/__tests__/usePrefetchInfiniteQuery.test.ts

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
22
import { nextTick, ref } from 'vue-demi'
3+
import { queryKey } from '@tanstack/query-test-utils'
34
import { QueryClient } from '../queryClient'
45
import { usePrefetchInfiniteQuery } from '../usePrefetchInfiniteQuery'
56

@@ -22,9 +23,11 @@ describe('usePrefetchInfiniteQuery', () => {
2223
Promise.resolve({ data: 'prefetched', currentPage: 1 }),
2324
)
2425

26+
const key = queryKey()
27+
2528
usePrefetchInfiniteQuery(
2629
{
27-
queryKey: ['prefetch-infinite-query'],
30+
queryKey: key,
2831
queryFn,
2932
initialPageParam: 1,
3033
getNextPageParam: () => undefined,
@@ -34,7 +37,7 @@ describe('usePrefetchInfiniteQuery', () => {
3437

3538
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(1)
3639
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledWith({
37-
queryKey: ['prefetch-infinite-query'],
40+
queryKey: key,
3841
queryFn,
3942
initialPageParam: 1,
4043
getNextPageParam: expect.any(Function),
@@ -51,14 +54,15 @@ describe('usePrefetchInfiniteQuery', () => {
5154
Promise.resolve({ data: 'prefetched', currentPage: 1 }),
5255
)
5356

54-
queryClient.setQueryData(['prefetch-infinite-query-existing'], {
57+
const key = queryKey()
58+
queryClient.setQueryData(key, {
5559
pages: [{ data: 'existing', currentPage: 1 }],
5660
pageParams: [1],
5761
})
5862

5963
usePrefetchInfiniteQuery(
6064
{
61-
queryKey: ['prefetch-infinite-query-existing'],
65+
queryKey: key,
6266
queryFn,
6367
initialPageParam: 1,
6468
getNextPageParam: () => undefined,
@@ -76,10 +80,11 @@ describe('usePrefetchInfiniteQuery', () => {
7680
'prefetchInfiniteQuery',
7781
)
7882
const nestedRef = ref('value')
83+
const key = queryKey()
7984

8085
usePrefetchInfiniteQuery(
8186
{
82-
queryKey: ['prefetch-infinite-query-ref', nestedRef],
87+
queryKey: [...key, nestedRef],
8388
queryFn: () => Promise.resolve({ data: 'prefetched', currentPage: 1 }),
8489
initialPageParam: 1,
8590
getNextPageParam: () => undefined,
@@ -89,7 +94,7 @@ describe('usePrefetchInfiniteQuery', () => {
8994

9095
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledWith(
9196
expect.objectContaining({
92-
queryKey: ['prefetch-infinite-query-ref', 'value'],
97+
queryKey: [...key, 'value'],
9398
}),
9499
)
95100
})
@@ -101,10 +106,11 @@ describe('usePrefetchInfiniteQuery', () => {
101106
'prefetchInfiniteQuery',
102107
)
103108
const keyRef = ref('first')
109+
const key = queryKey()
104110

105111
usePrefetchInfiniteQuery(
106112
() => ({
107-
queryKey: ['prefetch-infinite-query-reactive', keyRef.value],
113+
queryKey: [...key, keyRef.value],
108114
queryFn: () => Promise.resolve({ data: keyRef.value, currentPage: 1 }),
109115
initialPageParam: 1,
110116
getNextPageParam: () => undefined,
@@ -115,7 +121,7 @@ describe('usePrefetchInfiniteQuery', () => {
115121
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(1)
116122
expect(prefetchInfiniteQuerySpy).toHaveBeenLastCalledWith(
117123
expect.objectContaining({
118-
queryKey: ['prefetch-infinite-query-reactive', 'first'],
124+
queryKey: [...key, 'first'],
119125
}),
120126
)
121127

@@ -125,7 +131,7 @@ describe('usePrefetchInfiniteQuery', () => {
125131
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(2)
126132
expect(prefetchInfiniteQuerySpy).toHaveBeenLastCalledWith(
127133
expect.objectContaining({
128-
queryKey: ['prefetch-infinite-query-reactive', 'second'],
134+
queryKey: [...key, 'second'],
129135
}),
130136
)
131137
})
@@ -137,7 +143,7 @@ describe('usePrefetchInfiniteQuery', () => {
137143
try {
138144
usePrefetchInfiniteQuery(
139145
{
140-
queryKey: ['outside-scope-prefetch-infinite-query'],
146+
queryKey: queryKey(),
141147
queryFn: () =>
142148
Promise.resolve({ data: 'prefetched', currentPage: 1 }),
143149
initialPageParam: 1,

packages/vue-query/src/__tests__/usePrefetchQuery.test-d.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { assertType, describe, expectTypeOf, it } from 'vitest'
22
import { ref } from 'vue-demi'
33
import { skipToken } from '@tanstack/query-core'
4+
import { queryKey } from '@tanstack/query-test-utils'
45
import { usePrefetchQuery } from '..'
56

67
describe('usePrefetchQuery', () => {
78
it('should return nothing', () => {
89
const result = usePrefetchQuery({
9-
queryKey: ['key'],
10+
queryKey: queryKey(),
1011
queryFn: () => Promise.resolve(5),
1112
})
1213

@@ -16,7 +17,7 @@ describe('usePrefetchQuery', () => {
1617
it('should not allow refetchInterval, enabled or throwOnError options', () => {
1718
assertType(
1819
usePrefetchQuery({
19-
queryKey: ['key'],
20+
queryKey: queryKey(),
2021
queryFn: () => Promise.resolve(5),
2122
// @ts-expect-error TS2353
2223
refetchInterval: 1000,
@@ -25,7 +26,7 @@ describe('usePrefetchQuery', () => {
2526

2627
assertType(
2728
usePrefetchQuery({
28-
queryKey: ['key'],
29+
queryKey: queryKey(),
2930
queryFn: () => Promise.resolve(5),
3031
// @ts-expect-error TS2353
3132
enabled: true,
@@ -34,7 +35,7 @@ describe('usePrefetchQuery', () => {
3435

3536
assertType(
3637
usePrefetchQuery({
37-
queryKey: ['key'],
38+
queryKey: queryKey(),
3839
queryFn: () => Promise.resolve(5),
3940
// @ts-expect-error TS2353
4041
throwOnError: true,
@@ -45,7 +46,7 @@ describe('usePrefetchQuery', () => {
4546
it('should accept refs in query options', () => {
4647
assertType(
4748
usePrefetchQuery({
48-
queryKey: ['key', ref('id')],
49+
queryKey: [...queryKey(), ref('id')],
4950
queryFn: () => Promise.resolve(5),
5051
staleTime: ref(1000),
5152
}),
@@ -55,15 +56,15 @@ describe('usePrefetchQuery', () => {
5556
it('should not allow skipToken in queryFn', () => {
5657
assertType(
5758
usePrefetchQuery({
58-
queryKey: ['key'],
59+
queryKey: queryKey(),
5960
// @ts-expect-error
6061
queryFn: skipToken,
6162
}),
6263
)
6364

6465
assertType(
6566
usePrefetchQuery({
66-
queryKey: ['key'],
67+
queryKey: queryKey(),
6768
// @ts-expect-error
6869
queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
6970
}),

0 commit comments

Comments
 (0)