Модульное тестирование функции перехвата в перехватчике Angular HTTP - PullRequest
0 голосов
/ 06 апреля 2020

Я написал HTTP-перехватчик Angular 9, и я хотел бы протестировать функцию перехвата в относительной изоляции. Из того, что я видел на StackOverflow уже , люди предлагают делать поддельные HTTP-запросы или возвращать базовый c запрос , который не работает для меня, так как я использую .pipe метод ( TypeError: next.handle (...). pipe не является функцией )

Вот моя функция перехвата, что бы вы предложили для модульного тестирования этой функции, пожалуйста?

intercept(request: HttpRequest < unknown >, next: HttpHandler): Observable < HttpEvent < unknown >> {
  this.loadingService.show();
  return next.handle(request).pipe(
    catchError((error: HttpErrorResponse) => {
      if (error.status !== 401) {
        this.snackBar.open("There was an error when making your request! " + error.message, 'Okay, I will refresh the page', { duration: 10000 });
      }
      return throwError(error);
    }),
    finalize(
      () => {
        this.loadingService.hide()
      }
    )
  );
}
...