I have a mocked service instance in my jest unit test.it's like this
const mockedRepo = {
find: jest.fn(() => Promise.resolve(dataArray)),
findOne: jest.fn(() => Promise.resolve(dataObj)),
findOneBy: jest.fn(() => Promise.resolve(dataObj)),
delete: jest.fn(() => Promise.resolve(dataObj)),
create: jest.fn(() => Promise.resolve()),
save: jest.fn(() => Promise.resolve()),
};
For example, let's say I want to delete a user so I'm invoking deleteUser Function in my service. on success, I return a success response and on failure, I want to throw expectation. I can't understand how to mock both scenarios in mockedRepo.
Here is my service implmentaion
async deleteUser(id: string): Promise<void> {
try {
this.userRepository.delete({ id });
} catch (error) {
throw new Error('An Error Occurred')
}
}