diff --git a/superset-frontend/src/explore/components/controls/ViewQuery.test.tsx b/superset-frontend/src/explore/components/controls/ViewQuery.test.tsx index f82a1dacd62..a7f655b3b48 100644 --- a/superset-frontend/src/explore/components/controls/ViewQuery.test.tsx +++ b/superset-frontend/src/explore/components/controls/ViewQuery.test.tsx @@ -154,7 +154,8 @@ test('navigates to SQL Lab when View in SQL Lab button is clicked', () => { const viewInSQLLabButton = screen.getByText('View in SQL Lab'); fireEvent.click(viewInSQLLabButton); - expect(mockHistoryPush).toHaveBeenCalledWith('/sqllab', { + expect(mockHistoryPush).toHaveBeenCalledWith({ + pathname: '/sqllab', state: { requestedQuery: { datasourceKey: mockProps.datasource, @@ -174,7 +175,7 @@ test('opens SQL Lab in a new tab when View in SQL Lab button is clicked with met const { datasource, sql } = mockProps; expect(window.open).toHaveBeenCalledWith( - `/sqllab?datasourceKey=${datasource}&sql=${sql}`, + `/sqllab?datasourceKey=${datasource}&sql=${encodeURIComponent(sql)}`, '_blank', ); }); diff --git a/superset-frontend/src/explore/components/controls/ViewQuery.tsx b/superset-frontend/src/explore/components/controls/ViewQuery.tsx index 4ac62521dbb..048413af466 100644 --- a/superset-frontend/src/explore/components/controls/ViewQuery.tsx +++ b/superset-frontend/src/explore/components/controls/ViewQuery.tsx @@ -125,11 +125,11 @@ const ViewQuery: FC = props => { if (domEvent.metaKey || domEvent.ctrlKey) { domEvent.preventDefault(); window.open( - `/sqllab?datasourceKey=${datasource}&sql=${currentSQL}`, + `/sqllab?datasourceKey=${datasource}&sql=${encodeURIComponent(currentSQL)}`, '_blank', ); } else { - history.push('/sqllab', { state: { requestedQuery } }); + history.push({ pathname: '/sqllab', state: { requestedQuery } }); } }, [history, datasource, currentSQL],