/
githubmirror
/
trpc
Обзор
Документация
Войти
/
githubmirror
/
trpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/tests/server/getRawInput.test.ts
82 строки
2 KB
Anatol Zakrividoroga
feat(server): add `batchIndex` to procedures and middleware in batched requests (#7097)
04 фев 2026, 17:39
Не верифицирован
04 фев 2026, 17:39
bc215fe
Код
Авторство
О чём код?
import { waitError } from '@trpc/server/__tests__/waitError'; import type { TRPCError } from '@trpc/server'; import { initTRPC } from '@trpc/server'; test('middleware swap', async () => { const t = initTRPC.create(); const router = t.router({ test: t.procedure .use((opts) => opts.next({ getRawInput: () => Promise.resolve('foo'), }), ) .use((opts) => { const raw = opts.getRawInput(); return opts.next({ input: raw, }); }) .query((opts) => opts.input), }); const caller = router.createCaller({}); const result = await caller.test(); expect(result).toBe('foo'); }); test('untyped caller', async () => { const t = initTRPC.create(); const router = t.router({ test: t.procedure .use((opts) => { const raw = opts.getRawInput(); return opts.next({ input: raw, }); }) .query((opts) => opts.input), }); const result = await router.test({ getRawInput: () => Promise.resolve('foo'), ctx: {}, path: 'test', type: 'query', input: 'foo', signal: undefined, batchIndex: 0, }); expect(result).toBe('foo'); }); test('getRawInput fails', async () => { const t = initTRPC.create(); const router = t.router({ test: t.procedure .use((opts) => { const raw = opts.getRawInput(); return opts.next({ input: raw, }); }) .query((opts) => opts.input), }); const result = await waitError<TRPCError>( router.test({ getRawInput: () => Promise.reject(new Error('boo')), ctx: {}, path: 'test', type: 'query', input: 'foo', signal: undefined, batchIndex: 0, }), ); expect(result.code).toBe('INTERNAL_SERVER_ERROR'); expect(result.message).toMatchInlineSnapshot('"boo"'); });