Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { describe, expect, it } from 'vitest'
import { queryKey } from '@tanstack/query-test-utils'
import { infiniteQueryOptions } from '../infiniteQueryOptions'

describe('infiniteQueryOptions', () => {
it('should return the object received as a parameter without any modification.', () => {
const object = {
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
getNextPageParam: () => null,
initialPageParam: null,
Expand Down
14 changes: 7 additions & 7 deletions packages/vue-query/src/__tests__/queryOptions.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ describe('queryOptions', () => {
const ref1 = ref(1)
const ref2 = ref(2)
const options = queryOptions(() => ({
queryKey: ['key', ref1.value, { nested: ref2.value }],
queryKey: [...queryKey(), ref1.value, { nested: ref2.value }],
queryFn: () => Promise.resolve(5),
}))

Expand Down Expand Up @@ -233,7 +233,7 @@ describe('queryOptions', () => {

it('should allow accessing queryFn and other properties on the returned options object', () => {
const options = queryOptions({
queryKey: ['groups'],
queryKey: queryKey(),
queryFn: () => Promise.resolve([]),
})

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

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

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

// This was broken in #10452, fixed in #10458
const options = queryOptions({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(1),
enabled,
})
Expand All @@ -271,7 +271,7 @@ describe('queryOptions', () => {
const enabled = ref(true)

const options = queryOptions({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(1),
enabled,
})
Expand All @@ -281,7 +281,7 @@ describe('queryOptions', () => {

it('should allow boolean as enabled property', () => {
const options = queryOptions({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(1),
enabled: true,
})
Expand All @@ -291,7 +291,7 @@ describe('queryOptions', () => {

it('should allow getter function as enabled property', () => {
const options = queryOptions({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(1),
enabled: () => true,
})
Expand Down
3 changes: 2 additions & 1 deletion packages/vue-query/src/__tests__/queryOptions.test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { describe, expect, it } from 'vitest'
import { queryKey } from '@tanstack/query-test-utils'
import { queryOptions } from '../queryOptions'
import type { QueryOptions } from '../queryOptions'

describe('queryOptions', () => {
it('should return the object received as a parameter without any modification.', () => {
const object: QueryOptions = {
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
} as const

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { assertType, describe, expectTypeOf, it } from 'vitest'
import { ref } from 'vue-demi'
import { skipToken } from '@tanstack/query-core'
import { queryKey } from '@tanstack/query-test-utils'
import { usePrefetchInfiniteQuery } from '..'

describe('usePrefetchInfiniteQuery', () => {
it('should return nothing', () => {
const result = usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
initialPageParam: 1,
getNextPageParam: () => 1,
Expand All @@ -19,7 +20,7 @@ describe('usePrefetchInfiniteQuery', () => {
assertType(
// @ts-expect-error TS2345
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
}),
)
Expand All @@ -28,7 +29,7 @@ describe('usePrefetchInfiniteQuery', () => {
it('should not allow refetchInterval, enabled or throwOnError options', () => {
assertType(
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
initialPageParam: 1,
getNextPageParam: () => 1,
Expand All @@ -39,7 +40,7 @@ describe('usePrefetchInfiniteQuery', () => {

assertType(
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
initialPageParam: 1,
getNextPageParam: () => 1,
Expand All @@ -50,7 +51,7 @@ describe('usePrefetchInfiniteQuery', () => {

assertType(
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
initialPageParam: 1,
getNextPageParam: () => 1,
Expand All @@ -63,7 +64,7 @@ describe('usePrefetchInfiniteQuery', () => {
it('should accept refs in infinite query options', () => {
assertType(
usePrefetchInfiniteQuery({
queryKey: ['key', ref('id')],
queryKey: [...queryKey(), ref('id')],
queryFn: () => Promise.resolve(5),
initialPageParam: ref(1),
getNextPageParam: () => 1,
Expand All @@ -75,7 +76,7 @@ describe('usePrefetchInfiniteQuery', () => {
it('should not allow skipToken in queryFn', () => {
assertType(
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
initialPageParam: 1,
getNextPageParam: () => 1,
// @ts-expect-error
Expand All @@ -85,7 +86,7 @@ describe('usePrefetchInfiniteQuery', () => {

assertType(
usePrefetchInfiniteQuery({
queryKey: ['key'],
queryKey: queryKey(),
initialPageParam: 1,
getNextPageParam: () => 1,
// @ts-expect-error
Expand Down
26 changes: 16 additions & 10 deletions packages/vue-query/src/__tests__/usePrefetchInfiniteQuery.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
import { nextTick, ref } from 'vue-demi'
import { queryKey } from '@tanstack/query-test-utils'
import { QueryClient } from '../queryClient'
import { usePrefetchInfiniteQuery } from '../usePrefetchInfiniteQuery'

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

const key = queryKey()

usePrefetchInfiniteQuery(
{
queryKey: ['prefetch-infinite-query'],
queryKey: key,
queryFn,
initialPageParam: 1,
getNextPageParam: () => undefined,
Expand All @@ -34,7 +37,7 @@ describe('usePrefetchInfiniteQuery', () => {

expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(1)
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledWith({
queryKey: ['prefetch-infinite-query'],
queryKey: key,
queryFn,
initialPageParam: 1,
getNextPageParam: expect.any(Function),
Expand All @@ -51,14 +54,15 @@ describe('usePrefetchInfiniteQuery', () => {
Promise.resolve({ data: 'prefetched', currentPage: 1 }),
)

queryClient.setQueryData(['prefetch-infinite-query-existing'], {
const key = queryKey()
queryClient.setQueryData(key, {
pages: [{ data: 'existing', currentPage: 1 }],
pageParams: [1],
})

usePrefetchInfiniteQuery(
{
queryKey: ['prefetch-infinite-query-existing'],
queryKey: key,
queryFn,
initialPageParam: 1,
getNextPageParam: () => undefined,
Expand All @@ -76,10 +80,11 @@ describe('usePrefetchInfiniteQuery', () => {
'prefetchInfiniteQuery',
)
const nestedRef = ref('value')
const key = queryKey()

usePrefetchInfiniteQuery(
{
queryKey: ['prefetch-infinite-query-ref', nestedRef],
queryKey: [...key, nestedRef],
queryFn: () => Promise.resolve({ data: 'prefetched', currentPage: 1 }),
initialPageParam: 1,
getNextPageParam: () => undefined,
Expand All @@ -89,7 +94,7 @@ describe('usePrefetchInfiniteQuery', () => {

expect(prefetchInfiniteQuerySpy).toHaveBeenCalledWith(
expect.objectContaining({
queryKey: ['prefetch-infinite-query-ref', 'value'],
queryKey: [...key, 'value'],
}),
)
})
Expand All @@ -101,10 +106,11 @@ describe('usePrefetchInfiniteQuery', () => {
'prefetchInfiniteQuery',
)
const keyRef = ref('first')
const key = queryKey()

usePrefetchInfiniteQuery(
() => ({
queryKey: ['prefetch-infinite-query-reactive', keyRef.value],
queryKey: [...key, keyRef.value],
queryFn: () => Promise.resolve({ data: keyRef.value, currentPage: 1 }),
initialPageParam: 1,
getNextPageParam: () => undefined,
Expand All @@ -115,7 +121,7 @@ describe('usePrefetchInfiniteQuery', () => {
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(1)
expect(prefetchInfiniteQuerySpy).toHaveBeenLastCalledWith(
expect.objectContaining({
queryKey: ['prefetch-infinite-query-reactive', 'first'],
queryKey: [...key, 'first'],
}),
)

Expand All @@ -125,7 +131,7 @@ describe('usePrefetchInfiniteQuery', () => {
expect(prefetchInfiniteQuerySpy).toHaveBeenCalledTimes(2)
expect(prefetchInfiniteQuerySpy).toHaveBeenLastCalledWith(
expect.objectContaining({
queryKey: ['prefetch-infinite-query-reactive', 'second'],
queryKey: [...key, 'second'],
}),
)
})
Expand All @@ -137,7 +143,7 @@ describe('usePrefetchInfiniteQuery', () => {
try {
usePrefetchInfiniteQuery(
{
queryKey: ['outside-scope-prefetch-infinite-query'],
queryKey: queryKey(),
queryFn: () =>
Promise.resolve({ data: 'prefetched', currentPage: 1 }),
initialPageParam: 1,
Expand Down
15 changes: 8 additions & 7 deletions packages/vue-query/src/__tests__/usePrefetchQuery.test-d.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import { assertType, describe, expectTypeOf, it } from 'vitest'
import { ref } from 'vue-demi'
import { skipToken } from '@tanstack/query-core'
import { queryKey } from '@tanstack/query-test-utils'
import { usePrefetchQuery } from '..'

describe('usePrefetchQuery', () => {
it('should return nothing', () => {
const result = usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
})

Expand All @@ -16,7 +17,7 @@ describe('usePrefetchQuery', () => {
it('should not allow refetchInterval, enabled or throwOnError options', () => {
assertType(
usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
// @ts-expect-error TS2353
refetchInterval: 1000,
Expand All @@ -25,7 +26,7 @@ describe('usePrefetchQuery', () => {

assertType(
usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
// @ts-expect-error TS2353
enabled: true,
Expand All @@ -34,7 +35,7 @@ describe('usePrefetchQuery', () => {

assertType(
usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
queryFn: () => Promise.resolve(5),
// @ts-expect-error TS2353
throwOnError: true,
Expand All @@ -45,7 +46,7 @@ describe('usePrefetchQuery', () => {
it('should accept refs in query options', () => {
assertType(
usePrefetchQuery({
queryKey: ['key', ref('id')],
queryKey: [...queryKey(), ref('id')],
queryFn: () => Promise.resolve(5),
staleTime: ref(1000),
}),
Expand All @@ -55,15 +56,15 @@ describe('usePrefetchQuery', () => {
it('should not allow skipToken in queryFn', () => {
assertType(
usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
// @ts-expect-error
queryFn: skipToken,
}),
)

assertType(
usePrefetchQuery({
queryKey: ['key'],
queryKey: queryKey(),
// @ts-expect-error
queryFn: Math.random() > 0.5 ? skipToken : () => Promise.resolve(5),
}),
Expand Down
Loading
Loading