У меня есть контейнер, в котором находится другой компонент.Служба angular вызывает restAPI и обновляет хранилище данными.Теперь компонент, извлекающий данные из хранилища, как показано ниже, в nginit () ниже getEmloyeeState является селектором, который получает данные из хранилища.
ngOnInit(): void {
this.store.pipe(select(getEmployeeState)).subscribe(emp => {
this.employee = emp;
});
}
Чтобы проверить компонент, я пытаюсь смоделировать store.pipe, как показано ниже.
beforeEach(() => {
mockStore = jasmine.createSpyObj('store', ['pipe']);
it('When ngOnInit called, it should initlize emp object',
() => {
mockStore.pipe.and.callFake(() => {
return {
subscribe: (callback) => {
callback({
empObj: empObj
})
}
}
});
empComponent.ngOnInit();
expect(empComponent.employee.empId).toEqual('EMP1000');
});
});
выглядит как издевательство над store.pipe, но в ngOnInit объект сотрудника не инициализируется, так как возвращает Ожидается, что undefined равен EMP1000 . Любое предложение / помощь приветствуются.