У меня есть Component
, который во время инициализации отправляет сообщение на сервер для получения некоторой информации (в ngOnInit
). Если сервер возвращает ошибку, то должна быть вызвана определенная функция.
ngOnInit(){
this.service.tags$.subscribe((result:Result)=>{
...
},
(err:Result)=>{
...
this.showDialog(err.additionalInfo,new DialogContext("",""));// I WANT TO TEST THAT THIS FUNCTION IS CALLED IF SERVER RETURNS ERROR
}
});
}
Я хочу протестировать эту функцию, но не могу. Кажется, проблема в том, что it
вызывается после создания компонента. Таким образом, слежка за showDialog
не будет работать.
it('should show error if unable to get tags from the server on loading', () => {
let myComponent = component;
let service= TestBed.get(MyService);
spyOn(myComponent,'showDialog');
//this expectation will not workk as the showDialog was called before it was executed
expect(newPracticeQuestionComponent.showDialog).toHaveBeenCalled();
});