Skip to content

Commit 7e5fe21

Browse files
Zelys-DFKHTkDodo
andauthored
test(eslint-plugin-query/no-void-query-fn): add coverage for prefetchQuery, prefetchInfiniteQuery, ensureQueryData, ensureInfiniteQueryData (#10353)
Co-authored-by: Dominik Dorfmeister 🔮 <office@dorfmeister.cc>
1 parent 2dca719 commit 7e5fe21

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

packages/eslint-plugin-query/src/__tests__/no-void-query-fn.test.ts

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,58 @@ ruleTester.run('no-void-query-fn', rule, {
215215
})
216216
`,
217217
},
218+
{
219+
name: 'prefetchQuery queryFn returns a value',
220+
code: normalizeIndent`
221+
import { QueryClient } from '@tanstack/react-query'
222+
223+
const queryClient = new QueryClient()
224+
queryClient.prefetchQuery({
225+
queryKey: ['test'],
226+
queryFn: () => fetch('/api/test').then((r) => r.json()),
227+
})
228+
`,
229+
},
230+
{
231+
name: 'prefetchInfiniteQuery queryFn returns a value',
232+
code: normalizeIndent`
233+
import { QueryClient } from '@tanstack/react-query'
234+
235+
const queryClient = new QueryClient()
236+
queryClient.prefetchInfiniteQuery({
237+
queryKey: ['test'],
238+
queryFn: ({ pageParam }: { pageParam: number }) =>
239+
fetch(\`/api/test?page=\${pageParam}\`).then((r) => r.json()),
240+
initialPageParam: 0,
241+
})
242+
`,
243+
},
244+
{
245+
name: 'ensureQueryData queryFn returns a value',
246+
code: normalizeIndent`
247+
import { QueryClient } from '@tanstack/react-query'
248+
249+
const queryClient = new QueryClient()
250+
queryClient.ensureQueryData({
251+
queryKey: ['test'],
252+
queryFn: () => fetch('/api/test').then((r) => r.json()),
253+
})
254+
`,
255+
},
256+
{
257+
name: 'ensureInfiniteQueryData queryFn returns a value',
258+
code: normalizeIndent`
259+
import { QueryClient } from '@tanstack/react-query'
260+
261+
const queryClient = new QueryClient()
262+
queryClient.ensureInfiniteQueryData({
263+
queryKey: ['test'],
264+
queryFn: ({ pageParam }: { pageParam: number }) =>
265+
fetch(\`/api/test?page=\${pageParam}\`).then((r) => r.json()),
266+
initialPageParam: 0,
267+
})
268+
`,
269+
},
218270
],
219271
invalid: [
220272
{
@@ -439,5 +491,67 @@ ruleTester.run('no-void-query-fn', rule, {
439491
`,
440492
errors: [{ messageId: 'noVoidReturn' }],
441493
},
494+
{
495+
name: 'prefetchQuery queryFn returns void',
496+
code: normalizeIndent`
497+
import { QueryClient } from '@tanstack/react-query'
498+
499+
const queryClient = new QueryClient()
500+
queryClient.prefetchQuery({
501+
queryKey: ['test'],
502+
queryFn: async () => {
503+
await fetch('/api/test')
504+
},
505+
})
506+
`,
507+
errors: [{ messageId: 'noVoidReturn' }],
508+
},
509+
{
510+
name: 'prefetchInfiniteQuery queryFn returns void',
511+
code: normalizeIndent`
512+
import { QueryClient } from '@tanstack/react-query'
513+
514+
const queryClient = new QueryClient()
515+
queryClient.prefetchInfiniteQuery({
516+
queryKey: ['test'],
517+
queryFn: async ({ pageParam }: { pageParam: number }) => {
518+
await fetch(\`/api/test?page=\${pageParam}\`)
519+
},
520+
initialPageParam: 0,
521+
})
522+
`,
523+
errors: [{ messageId: 'noVoidReturn' }],
524+
},
525+
{
526+
name: 'ensureQueryData queryFn returns void',
527+
code: normalizeIndent`
528+
import { QueryClient } from '@tanstack/react-query'
529+
530+
const queryClient = new QueryClient()
531+
queryClient.ensureQueryData({
532+
queryKey: ['test'],
533+
queryFn: async () => {
534+
await fetch('/api/test')
535+
},
536+
})
537+
`,
538+
errors: [{ messageId: 'noVoidReturn' }],
539+
},
540+
{
541+
name: 'ensureInfiniteQueryData queryFn returns void',
542+
code: normalizeIndent`
543+
import { QueryClient } from '@tanstack/react-query'
544+
545+
const queryClient = new QueryClient()
546+
queryClient.ensureInfiniteQueryData({
547+
queryKey: ['test'],
548+
queryFn: async ({ pageParam }: { pageParam: number }) => {
549+
await fetch(\`/api/test?page=\${pageParam}\`)
550+
},
551+
initialPageParam: 0,
552+
})
553+
`,
554+
errors: [{ messageId: 'noVoidReturn' }],
555+
},
442556
],
443557
})

0 commit comments

Comments
 (0)