fix(explore): formatting the SQL in "View Query" pop-up doesn't format (#35898)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Joe Li
2025-10-31 11:09:51 -07:00
committed by GitHub
parent d1f9c77afd
commit be3690c22b
2 changed files with 28 additions and 1 deletions

View File

@@ -265,3 +265,29 @@ test('uses exploreBackend from Redux state when available', async () => {
expect(formatCallBody.engine).toBe('postgresql');
expect(fetchMock.calls(datasetApiEndpoint)).toHaveLength(0);
});
test('sends engine as string (not object) when fetched from dataset API', async () => {
const stateWithoutBackend = {
...mockState(),
explore: undefined,
};
setup(mockProps, stateWithoutBackend);
await waitFor(() => {
expect(fetchMock.calls(datasetApiEndpoint)).toHaveLength(1);
});
await waitFor(() => {
expect(fetchMock.calls(formatSqlEndpoint)).toHaveLength(1);
});
const formatCallBody = JSON.parse(
fetchMock.lastCall(formatSqlEndpoint)?.[1]?.body as string,
);
expect(formatCallBody).toEqual({
sql: mockProps.sql,
engine: 'sqlite',
});
});

View File

@@ -106,7 +106,8 @@ const ViewQuery: FC<ViewQueryProps> = props => {
const response = await SupersetClient.get({
endpoint: `/api/v1/dataset/${datasetId}?q=${queryParams}`,
});
backend = response.json.result.database;
const { backend: datasetBackend } = response.json.result.database;
backend = datasetBackend;
}
// Format the SQL query