Невозможно протестировать angular методов HTTP-запроса с динамическим c URL-адресом на компонентах с httpTestingControllers - PullRequest
0 голосов
/ 04 августа 2020

Попытка протестировать этот метод, присутствующий в моем файле компонента:

getTemplateBody() {
    this.templateDetails.product = this.categoryService.getProductType();
    return this.http.get(
      `/api/templates/body?name=${this.templateDetails.templateName}&type=EMAIL&product=${this.templateDetails.product}`
    );
  }

Указанный выше URL-адрес создается динамически со всеми значениями в нем.

Я хочу, чтобы тестовый пример проверял тип метода и тело запроса метода.

Обратите внимание, что http-вызов выполняется в самом компоненте, а не от службы. Может ли кто-нибудь помочь мне выполнить тестовый пример.

Этот конкретный метод проходит все тесты, даже если я указал неправильный тип метода.

it("Should be calling the getTemplateBody method", () => {
      spyOn(component, "getTemplateBody").and.callFake(() => {
        expect(component.getTemplateBody).toHaveBeenCalled();
        let req = http.expectOne(`/api/templates/body`);
        expect(req.request.method).toBe("POST");
      });
    });

Заранее спасибо.

...