Как написать модульный тест, чтобы протестировать сервис, который скачивает файл из API - PullRequest
0 голосов
/ 11 апреля 2019

Я пишу модульный тест для тестирования службы, которая загружает файл из API

Следующий код, который я использовал для загрузки файла. Работает нормально. Я не уверен, как написать пример модульного теста для этого.

Составляющая оценочной карты

public getEstimateFile(estimateFileName: string): void {
  this.estimateFileName = estimateFileName;
  this.estimateService.getEstimateFileDetails(this.workOrderNum, 
  this.estimateFileName)
    .subscribe((result: Blob) =>
      this.downloadFile(result)
    );
  }


  private downloadFile(data: Blob): void {
    const blob = new Blob([data], { type: 'application/pdf;charset=utf-8;' });
    const link = document.createElement('a');
    link.style.display = 'none';
    document.body.appendChild(link);
    if (link.download) {
      link.setAttribute('href', URL.createObjectURL(blob));
      link.setAttribute('download', this.estimateFileName);
      link.click();
    }
    document.body.removeChild(link);
  }

Расчетное обслуживание

 public getEstimateFileDetails(workorderNum: string, estimateFileName: string): Observable<Blob> {
    const url = `${this.baseUrl}/${ResourceUrl.workOrderDetail}/` + workorderNum + '/Estimate/' + estimateFileName;
    const headers = new HttpHeaders().set('Content-Type', 'application/pdf');
    return this.httpClient.get(url, { headers: headers, responseType: 'blob' as 'json' }).pipe(
        map((estimateFile: Blob) => {
            return estimateFile;
        }));
  }

Я хочу написать пример модульного теста для этого кода, чтобы загрузить файл.

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