/
githubmirror
/
trpc
Обзор
Документация
Войти
/
githubmirror
/
trpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/react-query/test/useSuspenseQuery.test.tsx
73 строки
2 KB
Alex / KATT
chore: remove `waitFor` from testing (#6221)
19 мар 2025, 20:23
Не верифицирован
19 мар 2025, 20:23
b6c6ddb
Код
Авторство
О чём код?
import { getServerAndReactClient } from './__reactHelpers'; import { doNotExecute } from '@trpc/server/__tests__/suppressLogs'; import { skipToken } from '@tanstack/react-query'; import { render } from '@testing-library/react'; import { initTRPC } from '@trpc/server'; import { konn } from 'konn'; import React from 'react'; import { z } from 'zod'; const ctx = konn() .beforeEach(() => { const t = initTRPC.create(); const appRouter = t.router({ post: t.router({ byId: t.procedure .input( z.object({ id: z.string(), }), ) .query(() => '__result' as const), }), }); return getServerAndReactClient(appRouter); }) .afterEach(async (ctx) => { await ctx?.close?.(); }) .done(); test('useSuspenseQuery()', async () => { const { client, App } = ctx; function MyComponent() { const [data, query1] = client.post.byId.useSuspenseQuery( { id: '1', }, { trpc: { context: { test: true, }, }, }, ); expectTypeOf(data).toEqualTypeOf<'__result'>(); type TData = typeof data; expectTypeOf<TData>().toMatchTypeOf<'__result'>(); expect(data).toBe('__result'); expect(query1.data).toBe('__result'); return <>{query1.data}</>; } const utils = render( <App> <MyComponent /> </App>, ); await vi.waitFor(() => { expect(utils.container).toHaveTextContent(`__result`); }); expect(ctx.spyLink.mock.calls[0]?.[0].context).toMatchObject({ test: true, }); }); test('useSuspenseQuery shouldnt accept skipToken', async () => { // @ts-expect-error skip token not allowed in useSuspenseQuery doNotExecute(() => ctx.client.post.byId.useSuspenseQuery(skipToken)); });