Я хочу проверить, что метод loadResults()
моего angular компонента всегда приводит к тому, что член loading
становится ложным, независимо от того, была выдана ошибка или нет:
component:
constructor(private service: Service1) {
}
ngOnInit() {
this.loadResults();
}
private loadResults(): void {
this.service.getResults().subscribe(results => {
this.results = results;
this.loading = false;
},
error => this.loading = false);
}
}
service:
getResults(): Observable<Result[]> {
return this.http.get<Result[]>(`${this.API_ROOT}/results`);
}
test:
class MockService {
getResults(): Observable<Result[]> {
return Observable.of([]);
}
}
describe('Component: ResultList', () => {
let resultList;
let service;
beforeEach(() => {
service = new MockService();
resultList = new ResultListComponent(service);
});
it('loading always set to false after the loadResults method', () => {
resultList.ngOnInit();
expect(resultList.loading).toBeFalsy();
});
});
Как я могу изменить этот код, чтобы создать второй тест, в котором тот же метод обслуживания (getResults)
выдает ошибка http?