Мой файл sagas выглядит следующим образом: -
function* handleAPIs(request){
let response ;
try{
switch(request.params.type){
case "GET":
response = yield call(genericGetAPI,request.params.url);
yield put({type: HANDLE_STATE, stateValues: [{'key':request.params.responseStateVariable,'value':response}]});
response = yield call(genericGetAPI, url);
yield put({type: HANDLE_STATE, stateValues: [{'key':request.params.responseStateVariable,'value':response}]});
break;
case "POST":
response = yield call(genericPostAPI, {'fields':request.params.requestParams,'url':request.params.url});
yield put({type: HANDLE_STATE, stateValues: [{'key':request.params.responseStateVariable,'value':response}]});
break;
case "PUT":
response = yield call(genericPutAPI, {'fields':request.params.requestParams,'url':request.params.url});
yield put({type: HANDLE_STATE, stateValues: [{'key':request.params.responseStateVariable,'value':response}]});
break;
case "DELETE":
response = yield call(genericDeleteAPI,request.params.url);
yield put({type: HANDLE_STATE, stateValues: [{'key':request.params.responseStateVariable,'value':response}]});
break;
}
} catch (error) {
yield put({type: REQUEST_ERROR, error: error.message});
} finally {
yield put({type: SENDING_REQUEST, sending: false});
}
}
export function* handleAPI(){
yield takeEvery(HANDLE_API,handleAPIs);
}
Мой файл теста Sagas выглядит следующим образом: -
import { testSaga } from 'redux-saga-test-plan';
import {
HANDLE_API,
} from '../constants';
import { handleAPI } from '../sagas';
describe('Saga file testing', () => {
it('Handle API', () => {
testSaga(handleAPI)
.next()
.takeEvery(HANDLE_API)
.finish()
.isDone();
});
});
Поскольку я не могу использовать функцию saga handleAPIs, так как ее нет вэкспорт.Как я могу написать контрольный пример следующего файла?Я использую план редукса-саги-теста.