Итак, ребята, у меня следующая проблема: у меня есть этот сервис:
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);
Кто-нибудь воображает, что может пойти не так?Спасибо !!!