Угловое тестирование насмешливого store.pipe в компоненте - PullRequest
0 голосов
/ 22 февраля 2019

У меня есть контейнер, в котором находится другой компонент.Служба 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 . Любое предложение / помощь приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...