Skip to content

Commit

Permalink
chore(*): vitest v2 (#7735)
Browse files Browse the repository at this point in the history
* chore(*): vitest v2

* chore: update

* chore: update

* chore: update

* chore: update

---------

Co-authored-by: Dominik Dorfmeister <[email protected]>
  • Loading branch information
manudeli and TkDodo committed Jul 15, 2024
1 parent 4635954 commit d10a456
Show file tree
Hide file tree
Showing 25 changed files with 469 additions and 284 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"@types/node": "^20.12.12",
"@types/react": "npm:types-react@rc",
"@types/react-dom": "npm:types-react-dom@rc",
"@vitest/coverage-istanbul": "^1.6.0",
"@vitest/coverage-istanbul": "^2.0.2",
"cpy-cli": "^5.0.0",
"esbuild-plugin-file-path-extensions": "^2.1.0",
"eslint": "^8.57.0",
Expand All @@ -75,7 +75,7 @@
"typescript51": "npm:[email protected]",
"typescript52": "npm:[email protected]",
"vite": "^5.2.11",
"vitest": "^1.6.0"
"vitest": "^2.0.2"
},
"pnpm": {
"overrides": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ describe('lazyInit', () => {

test('should init lazily and only once', async () => {
const initCallFn = vi.fn()
const registerDataValue = vi.fn<[number]>()
const registerDataValue = vi.fn<(arg: number) => any>()

let value!: { data: WritableSignal<number> }
const outerSignal = signal(0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ describe('lazySignalInitializer', () => {

test('should init lazily and only once', async () => {
const initCallFn = vi.fn()
const registerEffectValue = vi.fn<[number]>()
const registerEffectValue = vi.fn<(arg: number) => any>()

let value!: Signal<number>
const outerSignal = signal(0)
Expand Down
6 changes: 4 additions & 2 deletions packages/query-core/src/__tests__/hydration.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ describe('dehydration and rehydration', () => {
key: [{ nestedKey: 1 }],
})

const fetchDataAfterHydration = vi.fn<Array<unknown>, unknown>()
const fetchDataAfterHydration =
vi.fn<(...args: Array<unknown>) => unknown>()
await hydrationClient.prefetchQuery({
queryKey: ['string'],
queryFn: fetchDataAfterHydration,
Expand Down Expand Up @@ -280,7 +281,8 @@ describe('dehydration and rehydration', () => {
})?.state.data,
).toBe('string')

const fetchDataAfterHydration = vi.fn<Array<unknown>, unknown>()
const fetchDataAfterHydration =
vi.fn<(...args: Array<unknown>) => unknown>()
await hydrationClient.prefetchQuery({
queryKey: ['string', { key: ['string'], key2: 0 }],
queryFn: fetchDataAfterHydration,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,9 @@ describe('InfiniteQueryObserver', () => {
test('should stop refetching if undefined is returned from getNextPageParam', async () => {
const key = queryKey()
let next: number | undefined = 2
const queryFn = vi.fn<any, any>(({ pageParam }) => String(pageParam))
const queryFn = vi.fn<(...args: Array<any>) => any>(({ pageParam }) =>
String(pageParam),
)
const observer = new InfiniteQueryObserver(queryClient, {
queryKey: key,
queryFn,
Expand All @@ -133,7 +135,9 @@ describe('InfiniteQueryObserver', () => {
test('should stop refetching if null is returned from getNextPageParam', async () => {
const key = queryKey()
let next: number | null = 2
const queryFn = vi.fn<any, any>(({ pageParam }) => String(pageParam))
const queryFn = vi.fn<(...args: Array<any>) => any>(({ pageParam }) =>
String(pageParam),
)
const observer = new InfiniteQueryObserver(queryClient, {
queryKey: key,
queryFn,
Expand Down
26 changes: 15 additions & 11 deletions packages/query-core/src/__tests__/query.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,9 @@ describe('query', () => {

const queryFn = vi
.fn<
[QueryFunctionContext<ReturnType<typeof queryKey>>],
Promise<'data'>
(
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
) => Promise<'data'>
>()
.mockResolvedValue('data')

Expand Down Expand Up @@ -280,10 +281,12 @@ describe('query', () => {
test('should provide an AbortSignal to the queryFn that provides info about the cancellation state', async () => {
const key = queryKey()

const queryFn = vi.fn<
[QueryFunctionContext<ReturnType<typeof queryKey>>],
Promise<unknown>
>()
const queryFn =
vi.fn<
(
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
) => Promise<unknown>
>()
const onAbort = vi.fn()
const abortListener = vi.fn()
let error
Expand Down Expand Up @@ -330,7 +333,7 @@ describe('query', () => {
test('should not continue if explicitly cancelled', async () => {
const key = queryKey()

const queryFn = vi.fn<Array<unknown>, unknown>()
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()

queryFn.mockImplementation(async () => {
await sleep(10)
Expand Down Expand Up @@ -362,7 +365,7 @@ describe('query', () => {
test('should not error if reset while pending', async () => {
const key = queryKey()

const queryFn = vi.fn<Array<unknown>, unknown>()
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()

queryFn.mockImplementation(async () => {
await sleep(10)
Expand All @@ -389,7 +392,7 @@ describe('query', () => {
test('should be able to refetch a cancelled query', async () => {
const key = queryKey()

const queryFn = vi.fn<Array<unknown>, unknown>()
const queryFn = vi.fn<(...args: Array<unknown>) => unknown>()

queryFn.mockImplementation(async () => {
await sleep(50)
Expand Down Expand Up @@ -895,8 +898,9 @@ describe('query', () => {

const queryFn = vi
.fn<
[QueryFunctionContext<ReturnType<typeof queryKey>>],
Promise<unknown>
(
context: QueryFunctionContext<ReturnType<typeof queryKey>>,
) => Promise<unknown>
>()
.mockImplementation(({ signal }) => {
return new Promise((resolve, reject) => {
Expand Down
128 changes: 96 additions & 32 deletions packages/query-core/src/__tests__/queryClient.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -926,7 +926,9 @@ describe('queryClient', () => {
describe('refetchQueries', () => {
test('should not refetch if all observers are disabled', async () => {
const key = queryKey()
const queryFn = vi.fn<Array<unknown>, string>().mockReturnValue('data')
const queryFn = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data')
await queryClient.fetchQuery({ queryKey: key, queryFn })
const observer1 = new QueryObserver(queryClient, {
queryKey: key,
Expand All @@ -940,7 +942,9 @@ describe('queryClient', () => {
})
test('should refetch if at least one observer is enabled', async () => {
const key = queryKey()
const queryFn = vi.fn<Array<unknown>, string>().mockReturnValue('data')
const queryFn = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data')
await queryClient.fetchQuery({ queryKey: key, queryFn })
const observer1 = new QueryObserver(queryClient, {
queryKey: key,
Expand All @@ -962,8 +966,12 @@ describe('queryClient', () => {
test('should refetch all queries when no arguments are given', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer1 = new QueryObserver(queryClient, {
Expand All @@ -990,8 +998,12 @@ describe('queryClient', () => {
test('should be able to refetch all fresh queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1009,8 +1021,12 @@ describe('queryClient', () => {
test('should be able to refetch all stale queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1029,8 +1045,12 @@ describe('queryClient', () => {
test('should be able to refetch all stale and active queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
queryClient.invalidateQueries({ queryKey: key1 })
Expand All @@ -1051,8 +1071,12 @@ describe('queryClient', () => {
test('should be able to refetch all active and inactive queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1070,8 +1094,12 @@ describe('queryClient', () => {
test('should be able to refetch all active and inactive queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1089,8 +1117,12 @@ describe('queryClient', () => {
test('should be able to refetch only active queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1108,8 +1140,12 @@ describe('queryClient', () => {
test('should be able to refetch only inactive queries', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand Down Expand Up @@ -1148,7 +1184,9 @@ describe('queryClient', () => {

test('should resolve Promise immediately if query is paused', async () => {
const key1 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
const onlineMock = mockOnlineManagerIsOnline(false)

Expand All @@ -1162,7 +1200,9 @@ describe('queryClient', () => {
test('should refetch if query we are offline but query networkMode is always', async () => {
const key1 = queryKey()
queryClient.setQueryDefaults(key1, { networkMode: 'always' })
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
const onlineMock = mockOnlineManagerIsOnline(false)

Expand All @@ -1178,8 +1218,12 @@ describe('queryClient', () => {
test('should refetch active queries by default', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1197,8 +1241,12 @@ describe('queryClient', () => {
test('should not refetch inactive queries by default', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1216,8 +1264,12 @@ describe('queryClient', () => {
test('should not refetch active queries when "refetch" is "none"', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1238,8 +1290,12 @@ describe('queryClient', () => {
test('should refetch inactive queries when "refetch" is "inactive"', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand All @@ -1262,8 +1318,12 @@ describe('queryClient', () => {
test('should refetch active and inactive queries when "refetch" is "all"', async () => {
const key1 = queryKey()
const key2 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
await queryClient.fetchQuery({ queryKey: key1, queryFn: queryFn1 })
await queryClient.fetchQuery({ queryKey: key2, queryFn: queryFn2 })
const observer = new QueryObserver(queryClient, {
Expand Down Expand Up @@ -1385,8 +1445,12 @@ describe('queryClient', () => {
const key1 = queryKey()
const key2 = queryKey()
const key3 = queryKey()
const queryFn1 = vi.fn<Array<unknown>, string>().mockReturnValue('data1')
const queryFn2 = vi.fn<Array<unknown>, string>().mockReturnValue('data2')
const queryFn1 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data1')
const queryFn2 = vi
.fn<(...args: Array<unknown>) => string>()
.mockReturnValue('data2')
const observer1 = new QueryObserver(queryClient, {
queryKey: key1,
queryFn: queryFn1,
Expand Down
Loading

0 comments on commit d10a456

Please sign in to comment.