I have EmployeeService with the constructer
constructor(private readonly apiRepository: ApiRepository){
console.log("ApiRepository:",
apiRepository
)
this._employees = [];
}
in the unit test I have the following:
beforeEach(async () => {
const mockApiRepository = {
getEmployees: jest.fn().mockResolvedValue(employeeEntities),
};
const module: TestingModule = await Test.createTestingModule({
providers: [EmployeesService, {provide: ApiRepository, useValue: mockApiRepository}],
}).compile();
employeesService = module.get<EmployeesService>(EmployeesService);
apiRepository = module.get<ApiRepository>(ApiRepository);
});```
getEmployees is the function that im calling in the service.
```ts
it('should be defined',
() => {
expect(apiRepository).toBeDefined();
expect(employeesService).toBeDefined();
}
);```
succeeds even tho the console.log in the constructer prints undefined.
tldr: apiRepository is not correctly injected and is undefined in EmployeeService.