объект ErrorEvent брошен - PullRequest
0 голосов
/ 25 июня 2019

Я проверяю, происходит ли сбой службы getTokenRequest.Затем я хочу проверить эти 2 строки this.ngLoggerDispatcher(JSON.stringify(error)); return throwError('get token request');

В тесте getTokenRequest should throw an error я ставлю шпиона на httpService.getAccessToken и выкидываю ошибку get token request Затем я вызываю utilsService.getTokenRequest и проверяю,utilsService.ngLoggerDispatcher было вызвано.

Этот тест успешно выполнен, но тест getFile завершился неудачей с ошибкой object ErrorEvent thrown, и я не понимаю, почему.

В консоли браузера появляется ошибка Uncaught get token request

utils.service.spec.ts

it('getTokenRequest should throw an error', inject([UtilsService, HttpService],
    (utilsService: UtilsService, httpService: HttpService) => {

      spyOn(httpService, 'getAccessToken').and.returnValue(throwError('get token request'));
      utilsService.getTokenRequest('test.pdf', 'hashcode').pipe(
        tap(() => expect(spyOn(utilsService, 'ngLoggerDispatcher')).toHaveBeenCalled())
      ).subscribe();

    }));



it('getFile', inject([UtilsService, HttpService],
    (utilsService: UtilsService, httpService: HttpService) => {

      store.dispatch(new SetUrlDownload('urlDownloadTest'));
      utilsService.getFile().pipe(
        tap(() => expect(spyOn(httpService, 'getFile')).toHaveBeenCalledWith('urlDownloadTest'))
      ).subscribe();

    }));

utils.service.ts

getTokenRequest(fileName: string, hashcode: string): Observable<TokenRequestResponse> {

    return this.httpService.getAccessToken()
      .pipe(
        mergeMap((accessToken: string) =>
          this.httpService.getTokenRequest(fileName, hashcode, accessToken)
        ),
        catchError((error: Error) => {
          this.ngLoggerDispatcher(JSON.stringify(error));
          return throwError('get file');
        })
      );
  }

http.service.ts

  getAccessToken(): Observable<string> {
    return from(this.tokenService.token).pipe(
      map(({ accessToken }) => accessToken)
    );
  }

  getTokenRequest(fileName: string, hashcode: string, accessToken: string): Observable<TokenRequestResponse> {
    return this.httpClient.post<TokenRequestResponse>('...');
  }
}

РЕДАКТИРОВАТЬ: Выполнение команды ng test --source-map=false Я получаю сообщение об ошибке Failed to load resource: the server responded with a status of 404 (Not Found) Я не знаю, поможет ли это снимок экрана ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...