Я проверил, что ответ заполнен. Он загружен данными, которые я сбросил во время теста. Работает нормально, но когда я подписываюсь на эффект, он говорит, что полезная нагрузка для этого отправляемого действия не определена? Может ли кто-нибудь помочь, я новичок в NGRX и совершенно не понимаю, что происходит.
// NGRX effect
@Effect()
searchAPIData$ = this.actions$.pipe(
ofType(SearchActionTypes.SEARCH_DATA),
switchMap<ActionWithPayload<PitchData>, any>(action => {
return this._http.get(`fakeurl`).pipe(
map((response: any) => new SaveData(response.data)),
catchError(err => {
throw new Error('Unable to make sufficient request');
})
);
});
// unit test in jasmine
fit('Should make a request to the API', (done) => {
const params = {
pitchID: 32990,
startDate: '2020-10-2',
endDate: '2020-10-3'
};
actions$ = of({ type: '[SEARCH_DATA]', payload: params });
effects.searchAPIData$.subscribe(r => {
console.log(r);
done();
});
const req = httpMock.expectOne({
url: `fakeurl`,
method: 'GET'
});
req.flush(params);
});
// console logging output
LOG: SaveData{payload: undefined, type: '[SAVE_DATA]'}
Если вам нужна дополнительная информация, дайте мне знать! Спасибо.