Skip to content

Commit

Permalink
fix: passing url params in sqllab (#15246)
Browse files Browse the repository at this point in the history
* fix: passing url params in sqllab

* avoid undefined serach and add test

Co-authored-by: Ville Brofeldt <ville.v.brofeldt@gmail.com>
  • Loading branch information
maltoze and villebro committed Feb 15, 2022
1 parent 5bb406b commit 57c4d0f
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 3 deletions.
3 changes: 2 additions & 1 deletion superset-frontend/src/SqlLab/actions/sqlLab.js
Original file line number Diff line number Diff line change
Expand Up @@ -332,8 +332,9 @@ export function runQuery(query) {
expand_data: true,
};

const search = window.location.search || '';
return SupersetClient.post({
endpoint: '/superset/sql_json/',
endpoint: `/superset/sql_json/${search}`,
body: JSON.stringify(postPayload),
headers: { 'Content-Type': 'application/json' },
parseMethod: 'text',
Expand Down
30 changes: 28 additions & 2 deletions superset-frontend/src/SqlLab/actions/sqlLab.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ describe('async actions', () => {
JSON.stringify({ data: mockBigNumber, query: { sqlEditorId: 'dfsadfs' } }),
);

const runQueryEndpoint = 'glob:*/superset/sql_json/*';
const runQueryEndpoint = 'glob:*/superset/sql_json/';
fetchMock.post(runQueryEndpoint, `{ "data": ${mockBigNumber} }`);

describe('saveQuery', () => {
Expand Down Expand Up @@ -188,7 +188,7 @@ describe('async actions', () => {
});
});

describe('runQuery', () => {
describe('runQuery without query params', () => {
const makeRequest = () => {
const request = actions.runQuery(query);
return request(dispatch);
Expand Down Expand Up @@ -250,6 +250,32 @@ describe('async actions', () => {
});
});

describe('runQuery with query params', () => {
const { location } = window;

beforeAll(() => {
delete window.location;
window.location = new URL('http://localhost/sqllab/?foo=bar');
});

afterAll(() => {
delete window.location;
window.location = location;
});

const makeRequest = () => {
const request = actions.runQuery(query);
return request(dispatch);
};

it('makes the fetch request', () =>
makeRequest().then(() => {
expect(
fetchMock.calls('glob:*/superset/sql_json/?foo=bar'),
).toHaveLength(1);
}));
});

describe('reRunQuery', () => {
let stub;
beforeEach(() => {
Expand Down

0 comments on commit 57c4d0f

Please sign in to comment.