123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import {
- fakeSubmitForm,
- getOsType,
- createReportCommon,
- createTestCase,
- getTestCaseList,
- getCaseBugList,
- getBugInfo,
- updateTestCaseList
- } from './service';
- const Model = {
- namespace: 'editReport',
- state: {
- current: 'info',
- osType: [],
- step: {
- payAccount: 'ant-design@alipay.com',
- receiverAccount: 'test@example.com',
- receiverName: 'Alex',
- amount: '500',
- },
- reportCommonInfo: {},
- testCaseList: [],
- caseBugList: [],
- },
- effects: {
- * submitStepForm({ payload }, { call, put }) {
- yield call(fakeSubmitForm, payload);
- yield put({
- type: 'saveStepFormData',
- payload,
- });
- yield put({
- type: 'saveCurrentStep',
- payload: 'detail',
- });
- },
- * getOsTypeAction({ payload }, { call, put }) {
- const { examId } = payload;
- let res = yield call(getOsType, examId);
- let osType = res?.result?.paper_type;
- osType = JSON.parse(osType)['subTitles'][2]?.value;
- yield put({
- type: 'saveOsType',
- payload: osType,
- });
- },
- * getTestCaseList({ payload }, { call, put }) {
- const { report_id } = payload;
- let res = yield call(getTestCaseList, report_id);
- yield put({
- type: 'saveTestCaseList',
- payload: res.result,
- });
- },
- //todo:保存报告基础信息
- * saveReportCommonDetail({ payload }, { call, put }) {
- let res = yield call(createReportCommon, payload);
- //res拿到报告id,组装生成report对象
- let report = { id: res.id };
- for (let key of payload.keys()) {
- report[key] = payload.get(key);
- }
- yield put({
- type: 'saveReportCommonInfo',
- payload: report,
- });
- yield put({
- type: 'saveCurrentStep',
- payload: 'detail',
- });
- },
- //todo:创建新用例
- * createTestCase({ payload }, { call, put }) {
- let { formData , report_id} = payload;
- let res = yield call(createTestCase, formData);
- yield put({
- type: 'getTestCaseList',
- payload: { report_id }
- })
- return res;
- },
- //todo:更新用例
- * updateTestCase({ payload }, { call, put }) {
- let { formData,report_id } = payload;
- let res = yield call(updateTestCaseList, formData);
- yield put({
- type: 'getTestCaseList',
- payload: { report_id }
- })
- return res;
- },
- //todo:获取bug列表
- * getCaseBugList({ payload }, { call, put }) {
- let bugIdList = yield call(getCaseBugList, payload);//bug id list
- let newBugList = [];
- for (const item of bugIdList) {
- let p = yield put({ type: 'getBugInfo', payload: { item } });
- p.then(res=>{
- newBugList.push(res)
- });
- }
- yield put({
- type:'saveCaseBugList',
- payload:newBugList
- })
- },
- //todo:获取bug详情
- * getBugInfo({ payload }, { call, put }) {
- const {item} = payload;
- let bugInfo = yield call(getBugInfo, item);
- return bugInfo;
- },
- },
- reducers: {
- saveCurrentStep(state, { payload }) {
- return { ...state, current: payload };
- },
- saveStepFormData(state, { payload }) {
- return { ...state, step: { ...state.step, ...payload } };
- },
- saveOsType(state, { payload }) {
- return { ...state, osType: payload };
- },
- saveReportCommonInfo(state, { payload }) {
- return { ...state, reportCommonInfo: payload };
- },
- saveTestCaseList(state, { payload }) {
- return { ...state, testCaseList: payload };
- },
- saveCaseBugList(state, { payload }) {
- return { ...state, caseBugList: payload };
- },
- },
- };
- export default Model;
|