artymail
@artymail

Как замокать функцию, которая возвращает Promise?

Всем, привет.

Проект на NestJS (nestjs.com). Хочу написать тест.

Имею контроллер:
@Get()
async findAll(@Res() res): Promise<any[]> {
  return await this.service.getItems().then(result => res.json(result));
}


Пишу соответствующий тест:
describe('findAll', () => {
    it('should return an array of cats', async () => {
      const result = ['test'];
      jest.spyOn(catsService, 'getItems').mockImplementation(() => Promise.resolve(result));

      expect(await catsController.findAll()).toBe(result);
    });
  });


Но выдается ошибка, что мой мок на getItems возвращает undefined. Что я делаю не так?

Спасибо.
  • Вопрос задан
  • 341 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы