Мне нужна помощь, чтобы сгенерировать тест для fromEvent наблюдаемого в angular6 - PullRequest
0 голосов
/ 13 сентября 2018

в моем коде у меня есть функция, которая использует fromEvent, которая является Observable

getNavigatorStatus(): Observable<any> {
  return merge(
    fromEvent(window, 'offline').pipe(map(() => false)),
    fromEvent(window, 'online').pipe(map(() => true)),
    Observable.create(sub => {
      sub.next(navigator.onLine);
      sub.complete();
    })
  );
}

и имеет этот тест:

it('getNavigatorStatus: should returns Observable', done => {
  spyOn(Observable, <any>'fromEvent').and.returnValue(of({}));
  spyOn(Observable, 'create').and.returnValue(of({}));

  NetworkService.getNavigatorStatus().subscribe(() => {
    expect(fromEvent).toHaveBeenCalledWith(window, 'offline');
    expect(fromEvent).toHaveBeenCalledWith(window, 'online');
    expect(Observable.create).toHaveBeenCalled();
    done();
  });
});

моя проблема после перехода на угловой 6,Я больше не могу spyOn fromEvent в Observable, как раньше, до угла 6.

spyOn(Observable, <any>'fromEvent').and.returnValue(of({}));

Мне нужна помощь, чтобы проверить вызов fromEvent (параметры, результат и т. Д.) Внутри моей функции getNavigatorStatus.

...