@universal-packages/trpc-jest
TypeScript icon, indicating that this package has built-in type declarations

1.3.1 • Public • Published

tRPC Jest

npm version Testing codecov

Jest tooling for trpc. This library does not mock the trpc client nor uses an trpc caller to test your trpc router, it actually servers a test trpc server and actually make the requests to it.

In most cases you should test your router using a caller to test your router function directly, but if you want to tests the whole integration and find useful test your app as if it was the client calling it this is the library for you.

Install

npm install @universal-packages/trpc-jest

Setup

Add the following to your jest.config.js or where you configure Jest:

module.exports = {
  setupFilesAfterEnv: ['@universal-packages/trpc-jest']
}

Jest Globals

trpcJest

trpcJest.runTrpcServer(Router: AnyTRPCRouter)

Starts a new trpc server for the given router. Call this at teh top of your file. This will run a server to be used by all test cases.

import { appRouter } from './appRouter'

trpcJest.runTrpcServer(appRouter)

it('should be called', async () => {
  ...
})

trpcJest.client(router: AnyTRPCRouter)

Prepares a trpc client for the given router. Call your endpoint functions using this client.

import { appRouter } from './appRouter'

trpcJest.runTrpcServer(appRouter)

it('should be called', async () => {
  const result = await trpcJest.client(appRouter).getUsers.query()
})

trpcJest.setServerPath(path: string)

Sets the path of the server, this is the path that will be used to make requests to the server.

trpcJest.setServerPath('/trpc')

trpcJest.setClientHeaders(headers: Record<string, string>)

Sets the headers of the client to send to the server.

trpcJest.setClientHeaders({ 'x-test': 'test' })

Typescript

In order for typescript to see the global types you need to reference the types somewhere in your project, normally ./src/globals.d.ts.

/// <reference types="@universal-packages/trpc-jest" />

This library is developed in TypeScript and shipped fully typed.

Contributing

The development of this library happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving this library.

License

MIT licensed.

Readme

Keywords

none

Package Sidebar

Install

npm i @universal-packages/trpc-jest

Weekly Downloads

4

Version

1.3.1

License

MIT

Unpacked Size

9.89 kB

Total Files

9

Last publish

Collaborators

  • omarandstuff