упрощенном виде вот такой кусок кода.
public myFuckingNotTestableMethod(): Observable<any>{
return this.http.post(/rout-one, {}).pipe(
switchMap(() => {
return this.http.post(/rout-second,{});
})
);
}
чем пробовал: spyOn на http с параметрами (через .withArgs)
пробовал httpMock.expectOne(....)
В общем то комбинация httpMock на первый пост запрос + spyOn на второй + setTimer чтобы дождаться ответа от первого http.post все это дело разруливает, но как-то оно некрасиво...
(второй запрос использует данные, получаемые из первого).
https://stackoverflow.com/a/49910947
обернуть все http в отдельные методы и замокать их. switchMap тут вроде не при чем
Да, этот вариант пробовал, он работает. Но думалось вдруг есть другой изящно-эстетичный способ.
наоборот. ваш метод делал три разные вещи, отсюда проблема с тестированием.
Хм... А ведь и не поспоришь.. Согласен...
Обсуждают сегодня