Estoy tratando de escribir una prueba de unidad para mi API usando Jest y estoy usando un código repetitivo, pero me lleva a un error que no entiendo. Aquí está la prueba:
describe('findAll', () => { it('should return an array of cats', async () => { const result = ['test']; jest.spyOn(catsService, 'findAll').mockImplementation(() => result); expect(await catsController.findAll()).toBe(result); }); });El error está en la parte () => resultado:
El tipo 'cadena []' no se puede asignar al tipo 'Cat []'
Mi método findAll dentro de catsController es muy sencillo, solo devuelve una matriz de objetos Cat:
findAll(): Cat[] { return this.catsService.findAll(); }¿Qué es incorrecto en mi implementación simulada?
Jest sabe que deberías devolver una serie de gatos. Le dices a jest que devuelva una matriz de cadenas. El tipo cadena no es lo mismo que el tipo Cat, por lo que obtiene un error TS. Actualice el retorno para ser un gato en lugar de la cadena "result" y el error desaparecerá.