Estoy escribiendo pruebas unitarias para este punto final específico, pero no puedo burlarme del parámetro de respuesta, arroja un error en la parte .json cada vez que intenta acceder a él.
async createTenant(@Body() clientDto: ClientDto, @Res() res: any)Aquí es donde accedo dentro del controlador. Está arrojando un error dentro de la función .json, ¿cómo me burlo de esta propiedad?
return res.status(HttpStatus.BAD_REQUEST).json({ message: 'Client already exists.', });Ya probé algo como esto:
const jsonFn = jest.fn().mockImplementation().mockResolvedValueOnce({ message: 'something' }); const res = { status: jest.fn().mockResolvedValueOnce({ json: jsonFn })};Ahora está funcionando para la parte .status pero para .json todavía arroja un error. ¿Alguna idea que pueda ayudar?
Debería intentar usar una biblioteca para simular los objetos de Request y Response , el mejor que he encontrado hasta ahora es @jest-mock/express .
Puedes usarlo así:
import { getMockRes } from '@jest-mock/express' const { res } = getMockRes(); De manera similar, también puede simular Request , los documentos son muy claros sobre el uso.