Как тестировать payload в post запросах redux-saga

Недавно я начал изучать тесты для react-saga и нигде не увидел как делать запросы fetch с каким то payload

Есть вот такой воркер

 try {
        yield put({type: "SET_CURRENT_COMPETITION_LOADING", payload: true});

        const response: Response =  yield call(getCompetitionsData.getCompetitionById, action.payload);  // Этот payload (id: number)

        const data: ICompetitions | IApiRequestError  = yield call([response, response.json]);

        if("error" in data || "errorCode" in data) {
            throw new Error(`Произошла ошибка ${data.error ? data.error : data.errorCode}: ${data.message}`);
        }

        yield put({type: "SET_CURRENT_COMPETITION", payload: data});
        yield put({type: "SET_CURRENT_COMPETITION_LOADING", payload: false});
   
    } catch (error: any) {
        yield put({type: "SET_CURRENT_COMPETITION_ERROR", payload: error.message});
        yield put({type: "SET_CURRENT_COMPETITION_LOADING", payload: false});
    }

сам тест:

it("get currnet competition succes", () => {
        
   const generator = getCurrentCompetition();

   expect(generator.next().value).toEqual(put({type: "SET_CURRENT_COMPETITION_LOADING", payload: true}));

        const payload = 1;

   expect(generator.next(payload).value).toEqual(call(getCompetitionsData.getCompetitionById,Что передавать сюда??))

    })

call возвращает

"action": Object {
    +       "payload": "Cannot read properties of undefined (reading 'payload')",
    +       "type": "SET_CURRENT_COMPETITION_ERROR",
          },

Как правильно протестировать post запрос с payload??


Ответы (1 шт):

Автор решения: EzioMercer

В самой документации достотчно подробно описано как тестировать различные кейсы в Redux-Saga. Можете ознакомьтся здесь

→ Ссылка