|
- import { FastifyInstance, InjectOptions, LightMyRequestResponse } from 'fastify'
-
- export type MockResponse = LightMyRequestResponse
-
- export type MockResponseThunk = () => Promise<MockResponse>
-
- export type MockClient = (opts: InjectOptions) => Promise<MockResponse>
-
- export const makeJsonRequestClient = (server: FastifyInstance): MockClient => (opts) => {
- const inject = {
- ...opts,
- headers: {
- ...(opts.headers ?? {}),
- 'accept': 'applicaton/json',
- } as Record<string, string>,
- }
- if (opts.payload) {
- inject.headers['content-type'] = 'application/json'
- inject.payload = JSON.stringify(opts.payload)
- }
-
- return server.inject(inject)
- }
|