Я пытаюсь проверить ошибку перехвата, если результат не найден, используя функцию typeorm find
для сущности, с дополнительной опцией, где
Я пытался смоделировать функцию, однако не могу показатьсядля проверки бита где функции.
служебный файл
try {
historicalTypes = await this.historicalMappingDataTypesRepo.find({
where: {
HistoricalTypes: 'Contracts',
},
});
}
catch (e) {
if (e instanceof Error) {
this.logger.error(`Historical mapping type contracts could not found: ${e.message}`, e.stack);
} else {
this.logger.error(`Historical mapping type contracts could not found: ${e}`);
}
return;
}
test
const mockHistoricalTypes: HistoricalTypes[] = [
{
HistoricalTypeID: 1,
HistoricalType: 'Contracts',
},
];
const mockHistoricalMappingTypesRepo = {
find: ({where}) => Promise.resolve(mockHistoricalMappingTypes),
};
beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [
HistoricalMappingSchedulerService,
{
provide: HistoricalMappingSchedulerRepository,
useValue: mockHistoricalMappingSchedulerRepository,
},
{
provide: getRepositoryToken(HistoricalMappingTypes),
useValue: mockHistoricalMappingTypesRepo,
},
],
}).compile();
service = module.get<HistoricalMappingSchedulerService>(HistoricalMappingSchedulerService);
});
it('should throw an error when historical type id is not found', async () => {
await mockHistoricalMappingTypesRepo.find({
where: {
HistoricalMappingType: 'Testing',
},
});
const mockFn = () => service.ContractHistoricalMapping();
expect(mockFn).toThrowError();
});