diff --git a/superset-frontend/spec/javascripts/sqllab/actions/sqlLab_spec.js b/superset-frontend/spec/javascripts/sqllab/actions/sqlLab_spec.js index 0c424db35f..3c391aaf85 100644 --- a/superset-frontend/spec/javascripts/sqllab/actions/sqlLab_spec.js +++ b/superset-frontend/spec/javascripts/sqllab/actions/sqlLab_spec.js @@ -612,44 +612,44 @@ describe('async actions', () => { }); describe('queryEditorSetSql', () => { + const sql = 'SELECT * '; + const expectedActions = [ + { + type: actions.QUERY_EDITOR_SET_SQL, + queryEditor, + sql, + }, + ]; describe('with backend persistence flag on', () => { it('updates the tab state in the backend', () => { expect.assertions(2); - const sql = 'SELECT * '; const store = mockStore({}); return store .dispatch(actions.queryEditorSetSql(queryEditor, sql)) .then(() => { - expect(store.getActions()).toHaveLength(0); + expect(store.getActions()).toEqual(expectedActions); expect(fetchMock.calls(updateTabStateEndpoint)).toHaveLength(1); }); }); }); - }); - describe('with backend persistence flag off', () => { - it('does not update the tab state in the backend', () => { - const backendPersistenceOffMock = jest - .spyOn(featureFlags, 'isFeatureEnabled') - .mockImplementation( - feature => !(feature === 'SQLLAB_BACKEND_PERSISTENCE'), - ); - const sql = 'SELECT * '; - const store = mockStore({}); - const expectedActions = [ - { - type: actions.QUERY_EDITOR_SET_SQL, - queryEditor, - sql, - }, - ]; + describe('with backend persistence flag off', () => { + it('does not update the tab state in the backend', () => { + const backendPersistenceOffMock = jest + .spyOn(featureFlags, 'isFeatureEnabled') + .mockImplementation( + feature => !(feature === 'SQLLAB_BACKEND_PERSISTENCE'), + ); - store.dispatch(actions.queryEditorSetSql(queryEditor, sql)); + const store = mockStore({}); - expect(store.getActions()).toEqual(expectedActions); - expect(fetchMock.calls(updateTabStateEndpoint)).toHaveLength(0); - backendPersistenceOffMock.mockRestore(); + store.dispatch(actions.queryEditorSetSql(queryEditor, sql)); + + expect(store.getActions()).toEqual(expectedActions); + expect(fetchMock.calls(updateTabStateEndpoint)).toHaveLength(0); + backendPersistenceOffMock.mockRestore(); + }); }); }); diff --git a/superset-frontend/src/SqlLab/actions/sqlLab.js b/superset-frontend/src/SqlLab/actions/sqlLab.js index 2cccb2e899..1b46749aeb 100644 --- a/superset-frontend/src/SqlLab/actions/sqlLab.js +++ b/superset-frontend/src/SqlLab/actions/sqlLab.js @@ -898,6 +898,8 @@ export function updateSavedQuery(query) { export function queryEditorSetSql(queryEditor, sql) { return function (dispatch) { + // saved query and set tab state use this action + dispatch({ type: QUERY_EDITOR_SET_SQL, queryEditor, sql }); if (isFeatureEnabled(FeatureFlag.SQLLAB_BACKEND_PERSISTENCE)) { return SupersetClient.put({ endpoint: encodeURI(`/tabstateview/${queryEditor.id}`), @@ -914,7 +916,7 @@ export function queryEditorSetSql(queryEditor, sql) { ), ); } - return dispatch({ type: QUERY_EDITOR_SET_SQL, queryEditor, sql }); + return Promise.resolve(); }; }