Я получаю сообщение об ошибке «Не удается прочитать свойство« подписка »неопределенного» при попытке протестировать этот компонент ngOnInit ();
Я добавил select.and.callFake (), который решил эту проблему некоторое время назад, но теперь не работает.
ngOnInit() {
this.store.select(STORE_USER_REPORT_INFO_STATE).subscribe((userReportInfo: any[]) => {
if(userReportInfo){
userReportInfo.forEach((data)=> {
if(data.InstanceId == this.id) {
this.isFavorite = data.IsFavorite;
}
});
}
});
}
describe('OnlineReportPopupComponent', () => {
let component: OnlineReportPopupComponent;
let fixture: ComponentFixture<OnlineReportPopupComponent>;
let mockStoreUserReportAccessObservable: Observable<any>;
let mockStore;
beforeEach(() => {
mockStore = jasmine.createSpyObj("Store", ["select"]);
mockStore.select.and.callFake((stateType: string) => {
switch (stateType) {
case STORE_USER_REPORT_INFO_STATE:
return mockStoreUserReportAccessObservable;
}
});
TestBed.configureTestingModule({
declarations: [ OnlineReportPopupComponent],
providers: [
{provide: Store, useValue: mockStore}
]
});
fixture = TestBed.createComponent(OnlineReportPopupComponent);
component = fixture.debugElement.componentInstance;
fixture.detectChanges();
});
}