Здравствуйте. Пытаюсь тестировать сгенерированный модуль nestjs. Всё получается, кроме одного момента, я не знаю даже как гуглить мою проблему, по ошибке ничего не находит. Собственно, я решил поиграться со статусами и использовал апи express для end-поинта следующим образом(убрал свои манипуляции с статусом, оставил проблемный аргумент):
import { Controller, Get, HttpCode, Post, HttpStatus, Res } from '@nestjs/common';
import { AppService } from './app.service';
import { Response } from 'express';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
@Get()
getHello(@Res() res: Response):string {
return this.appService.getHello('WTF its working!');
}
}
Здесь всё работает и всё хорошо, следом я пишу тест по документации(пока нашёл только сквозное тестирование полного end-поинта, потыкал и это не помогло, видимо не то) - сейчас у меня есть следующий тест контроллера и сервиса:
import { Test, TestingModule } from '@nestjs/testing';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import {Response} from 'express';
describe('AppController', () => {
let appController: AppController;
let appService: AppService;
beforeEach(async () => {
const app: TestingModule = await Test.createTestingModule({
controllers: [AppController],
providers: [AppService],
}).compile();
appService = app.get<AppService>(AppService);
appController = app.get<AppController>(AppController);
});
describe('root', () => {
it('should return "Hello World!"', async () => {
const result = 'WTF it working!';
expect(appService.getHello('WTF it working!')).toBe(result);
expect(appController.getHello()).toBe(result);
});
});
});
Тест сервиса как по маслу, всё понятно и просто, а вот изменённый мной контроллер не поддаётся тесту, я пробовал передать ему res который он требует, аналогично как передал и в настоящем контроллере, но он подсвечивает его красным. Скажите пожалуйста, что мне искать в документации для решения? или можно пример, остальное найду.
Спасибо.