Skip to content
Snippets Groups Projects
Unverified Commit 28640cfd authored by Alexander Polyankin's avatar Alexander Polyankin Committed by GitHub
Browse files

Show query execution time in the QB header for MBQL queries (#40889)

parent 27fbc968
Branches
Tags
No related merge requests found
......@@ -46,9 +46,8 @@ const ViewFooter = ({
return null;
}
const { isEditable, isNative } = Lib.queryDisplayInfo(question.query());
const hasDataPermission = isEditable;
const hideChartSettings = result.error && !hasDataPermission;
const { isEditable } = Lib.queryDisplayInfo(question.query());
const hideChartSettings = result.error && !isEditable;
const type = question.type();
return (
......@@ -109,7 +108,7 @@ const ViewFooter = ({
result,
isObjectDetail,
}) && <QuestionRowCount key="row_count" />,
isNative && <ExecutionTime time={result.running_time} />,
<ExecutionTime key="execution_time" time={result.running_time} />,
QuestionLastUpdated.shouldRender({ result }) && (
<QuestionLastUpdated
key="last-updated"
......
import userEvent from "@testing-library/user-event";
import fetchMock from "fetch-mock";
import { screen, waitFor, within } from "__support__/ui";
import {
screen,
waitFor,
waitForLoaderToBeRemoved,
within,
} from "__support__/ui";
import registerVisualizations from "metabase/visualizations/register";
import { createMockCard, createMockDataset } from "metabase-types/api/mocks";
......@@ -104,23 +109,34 @@ describe("QueryBuilder", () => {
});
describe("query execution time", () => {
it("renders query execution time for native questions", async () => {
it("renders query execution time for mbql questions", async () => {
await setup({
card: TEST_NATIVE_CARD,
card: TEST_CARD,
dataset: createMockDataset({
running_time: 123,
}),
});
const [runButton] = screen.getAllByTestId("run-button");
userEvent.click(runButton);
await waitForLoaderToBeRemoved();
const executionTime = screen.getByTestId("execution-time");
expect(executionTime).toBeInTheDocument();
expect(executionTime).toHaveTextContent("123 ms");
});
it("does not render query execution time for non-native questions", async () => {
await setup({ card: TEST_CARD });
it("renders query execution time for native questions", async () => {
await setup({
card: TEST_NATIVE_CARD,
dataset: createMockDataset({
running_time: 123,
}),
});
expect(screen.queryByTestId("execution-time")).not.toBeInTheDocument();
const executionTime = screen.getByTestId("execution-time");
expect(executionTime).toBeInTheDocument();
expect(executionTime).toHaveTextContent("123 ms");
});
});
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment