Угловой метод Жасмин Матч POST не найден.Почему это происходит? - PullRequest
0 голосов
/ 21 сентября 2018

Итак, ребята, у меня следующая проблема: у меня есть этот сервис:

public migrateToLandingV1(courseSlug) {
    return this.clearDraftLandingPage(courseSlug).pipe(
      mergeMap(() => this.updateLandingPage(courseSlug, { data: { type: 'course', relationships: { rows: { data: [...this.newLandingPageStructure.map(row => this.getJsonAPIRow(row, false, true))] } } } }, true)),
      mergeMap(() => this.publishDraftLandingPage(courseSlug)),
      mergeMap(res => this.deserializeResponse(res)),
      map(landing => new Landing(landing.rows).sortRowsByTagId()),
      map(landingSorted => landingSorted.mapTypesAndReferences())
    );
  }

clearDraftLandingPage имеет один запрос на УДАЛЕНИЕ http.updateLandingPage имеет один запрос PUT http.У publishDraftLandingPage есть один HTTP-запрос POST.

Он работает, как задумано, но тест, который я написал для этого, проваливается, потому что: Ошибка: Ожидается один запрос на соответствие критериям "Метод соответствия: POST, URL: / ng / api /v2 / Преподаватель / курсы / teste-Presencial / draft_landing? include [] [draft_rows] [] = columns ", найдено none.:

для запросов DELETE и PUT работы httpTestingController, но для запроса POST происходит, что"не нашел": /.

service.migrateToLandingV1('teste-presencial').subscribe(landing => {
  console.log('landing', landing);
  expect(landing.isPageEditor()).toEqual(true);
});

const clearDraftLandingPage = httpTestingController.expectOne({
  method: 'DELETE',
  url: '/ng/api/v2/teacher/courses/teste-presencial/draft_landing?include[][draft_rows][]=columns'
});
clearDraftLandingPage.flush(mockClearLandingPageResponse);

const updateLandingPage = httpTestingController.expectOne({
  url: '/ng/api/v2/teacher/courses/teste-presencial?include[][draft_rows][]=columns&draft_landing=true',
  method: 'PUT'
});
updateLandingPage.flush(mockUpdateLandingPageResponse);

const publishDraftLandingPage = httpTestingController.expectOne({
  method: 'POST',
  url: '/ng/api/v2/teacher/courses/teste-presencial/draft_landing?include[][draft_rows][]=columns'
});
publishDraftLandingPage.flush(mockPublishDraftLandingPageResponse);

Кто-нибудь воображает, что может пойти не так?Спасибо !!!

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