Fix action batching issue (#181)

This commit is contained in:
Hetu Nandu 2020-07-28 16:11:51 +05:30 committed by GitHub
parent f3d88bc8b8
commit 01a3d4682f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 13 additions and 6 deletions

View File

@ -110,6 +110,7 @@ describe("API Panel Test Functionality", function() {
cy.CreateAPI(apiname); cy.CreateAPI(apiname);
cy.log("Creation of API Action successful"); cy.log("Creation of API Action successful");
cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methods); cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methods);
cy.WaitAutoSave();
cy.RunAPI(); cy.RunAPI();
cy.ResponseStatusCheck(testdata.successStatusCode); cy.ResponseStatusCheck(testdata.successStatusCode);
cy.log("Response code check successful"); cy.log("Response code check successful");
@ -135,6 +136,7 @@ describe("API Panel Test Functionality", function() {
cy.CreateAPI("ThirdAPI"); cy.CreateAPI("ThirdAPI");
cy.log("Creation of API Action successful"); cy.log("Creation of API Action successful");
cy.enterDatasourceAndPath(testdata.baseUrl, testdata.queryAndValue); cy.enterDatasourceAndPath(testdata.baseUrl, testdata.queryAndValue);
cy.WaitAutoSave();
cy.RunAPI(); cy.RunAPI();
cy.ResponseStatusCheck("200 OK"); cy.ResponseStatusCheck("200 OK");
cy.log("Response code check successful"); cy.log("Response code check successful");
@ -153,6 +155,7 @@ describe("API Panel Test Functionality", function() {
testdata.queryKey, testdata.queryKey,
testdata.queryValue, testdata.queryValue,
); );
cy.WaitAutoSave();
cy.RunAPI(); cy.RunAPI();
cy.ResponseStatusCheck("5000"); cy.ResponseStatusCheck("5000");
cy.log("Response code check successful"); cy.log("Response code check successful");

View File

@ -9,7 +9,8 @@ describe("API Panel Test Functionality", function() {
cy.CreateAPI("FirstAPI"); cy.CreateAPI("FirstAPI");
cy.log("Creation of FirstAPI Action successful"); cy.log("Creation of FirstAPI Action successful");
cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methods); cy.enterDatasourceAndPath(testdata.baseUrl, testdata.methods);
cy.SaveAndRunAPI(); cy.WaitAutoSave();
cy.RunAPI();
cy.ResponseStatusCheck(testdata.successStatusCode); cy.ResponseStatusCheck(testdata.successStatusCode);
cy.get(apiwidget.createApiOnSideBar) cy.get(apiwidget.createApiOnSideBar)
.first() .first()

View File

@ -68,10 +68,10 @@ export const runAction = (id: string, paginationField?: PaginationField) => {
}; };
export const updateAction = (payload: { id: string }) => { export const updateAction = (payload: { id: string }) => {
return { return batchAction({
type: ReduxActionTypes.UPDATE_ACTION_INIT, type: ReduxActionTypes.UPDATE_ACTION_INIT,
payload, payload,
}; });
}; };
export const updateActionSuccess = (payload: { data: Action }) => { export const updateActionSuccess = (payload: { data: Action }) => {

View File

@ -10,7 +10,6 @@ import {
select, select,
takeEvery, takeEvery,
takeLatest, takeLatest,
debounce,
} from "redux-saga/effects"; } from "redux-saga/effects";
import ActionAPI, { ActionCreateUpdateResponse, Property } from "api/ActionAPI"; import ActionAPI, { ActionCreateUpdateResponse, Property } from "api/ActionAPI";
import _ from "lodash"; import _ from "lodash";
@ -481,7 +480,7 @@ export function* watchActionSagas() {
fetchActionsForViewModeSaga, fetchActionsForViewModeSaga,
), ),
takeEvery(ReduxActionTypes.CREATE_ACTION_INIT, createActionSaga), takeEvery(ReduxActionTypes.CREATE_ACTION_INIT, createActionSaga),
debounce(500, ReduxActionTypes.UPDATE_ACTION_INIT, updateActionSaga), takeLatest(ReduxActionTypes.UPDATE_ACTION_INIT, updateActionSaga),
takeLatest(ReduxActionTypes.DELETE_ACTION_INIT, deleteActionSaga), takeLatest(ReduxActionTypes.DELETE_ACTION_INIT, deleteActionSaga),
takeLatest(ReduxActionTypes.SAVE_API_NAME, saveApiNameSaga), takeLatest(ReduxActionTypes.SAVE_API_NAME, saveApiNameSaga),
takeLatest(ReduxActionTypes.MOVE_ACTION_INIT, moveActionSaga), takeLatest(ReduxActionTypes.MOVE_ACTION_INIT, moveActionSaga),

View File

@ -25,9 +25,13 @@ const BATCH_PRIORITY = {
needsSaga: true, needsSaga: true,
}, },
[ReduxActionTypes.UPDATE_ACTION_PROPERTY]: { [ReduxActionTypes.UPDATE_ACTION_PROPERTY]: {
priority: 1, priority: 0,
needsSaga: false, needsSaga: false,
}, },
[ReduxActionTypes.UPDATE_ACTION_INIT]: {
priority: 1,
needsSaga: true,
},
}; };
const batches: ReduxAction<any>[][] = []; const batches: ReduxAction<any>[][] = [];