diff --git a/superset-frontend/src/SqlLab/actions/sqlLab.js b/superset-frontend/src/SqlLab/actions/sqlLab.js index 7c27a74a1e87e..1953770383b83 100644 --- a/superset-frontend/src/SqlLab/actions/sqlLab.js +++ b/superset-frontend/src/SqlLab/actions/sqlLab.js @@ -607,7 +607,12 @@ export function addNewQueryEditor() { '-- Note: Unless you save your query, these tabs will NOT persist if you clear your cookies or change browsers.\n\n', ); - const name = newQueryTabName(queryEditors || []); + const name = newQueryTabName( + queryEditors?.map(qe => ({ + ...qe, + ...(qe.id === unsavedQueryEditor.id && unsavedQueryEditor), + })) || [], + ); return dispatch( addQueryEditor({ diff --git a/superset-frontend/src/SqlLab/actions/sqlLab.test.js b/superset-frontend/src/SqlLab/actions/sqlLab.test.js index fc94a44645c7e..b5996df546ce0 100644 --- a/superset-frontend/src/SqlLab/actions/sqlLab.test.js +++ b/superset-frontend/src/SqlLab/actions/sqlLab.test.js @@ -444,16 +444,23 @@ describe('async actions', () => { describe('addNewQueryEditor', () => { it('creates new query editor with new tab name', () => { - const store = mockStore(initialState); + const store = mockStore({ + ...initialState, + sqlLab: { + ...initialState.sqlLab, + unsavedQueryEditor: { + id: defaultQueryEditor.id, + name: 'Untitled Query 6', + }, + }, + }); const expectedActions = [ { type: actions.ADD_QUERY_EDITOR, queryEditor: { id: 'abcd', sql: expect.stringContaining('SELECT ...'), - name: `Untitled Query ${ - store.getState().sqlLab.queryEditors.length + 1 - }`, + name: `Untitled Query 7`, dbId: defaultQueryEditor.dbId, schema: defaultQueryEditor.schema, autorun: false,