Mocked same service with both success and failure senarios in unit test

Viewed 16

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')
    }
  }
0 Answers
Related