Что мне помогло, так это тестовый макет PhotoService.Документация была полезной https://docs.nestjs.com/fundamentals/custom-providers
Или взгляните на спецификацию теста, которую я написал.
import { Test, TestingModule } from '@nestjs/testing';
import { PhotoController } from './photo.controller';
import { PhotoService } from './photo.service';
describe('PhotoController', () => {
let module: TestingModule;
let photoController: PhotoController;
let photoService: PhotoService;
const resultAll = ['test'];
const mockPhotoService = {
findAll: () => (resultAll),
};
const photoServiceProvider = {
provide: PhotoService,
useValue: mockPhotoService,
};
beforeAll(async () => {
module = await Test.createTestingModule({
controllers: [PhotoController],
providers: [photoServiceProvider],
}).compile();
photoService = module.get<PhotoService>(PhotoService);
photoController = module.get<PhotoController>(PhotoController);
});
describe('findAll', () => {
it('should return collection of photos', async () => {
jest.spyOn(photoService, 'findAll').mockImplementation(() => resultAll);
expect(await photoController.findAll()).toBe(resultAll);
});
});
});
Дайте мне знать, если она вам тоже помогла