From 5e2e4a401e2e1141acfddb09aa38dba5d824957c Mon Sep 17 00:00:00 2001 From: Alexander Polyankin <alexander.polyankin@metabase.com> Date: Fri, 6 May 2022 17:29:20 +0300 Subject: [PATCH] Fix visualization settings for raw tables (#22422) --- .../src/metabase/query_builder/selectors.js | 3 +- .../22359-raw-tables-vis-settings.cy.spec.js | 47 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 frontend/test/metabase/scenarios/visualizations/reproductions/22359-raw-tables-vis-settings.cy.spec.js diff --git a/frontend/src/metabase/query_builder/selectors.js b/frontend/src/metabase/query_builder/selectors.js index 2238e9f0c94..924d9365f12 100644 --- a/frontend/src/metabase/query_builder/selectors.js +++ b/frontend/src/metabase/query_builder/selectors.js @@ -565,7 +565,8 @@ export const getRawSeries = createSelector( if (isShowingRawTable) { display = "table"; - settings = { "table.pivot": false }; + settings = _.pick(settings, "column_settings"); + settings = { "table.pivot": false, ...settings }; } // we want to provide the visualization with a card containing the latest diff --git a/frontend/test/metabase/scenarios/visualizations/reproductions/22359-raw-tables-vis-settings.cy.spec.js b/frontend/test/metabase/scenarios/visualizations/reproductions/22359-raw-tables-vis-settings.cy.spec.js new file mode 100644 index 00000000000..60f629f3e05 --- /dev/null +++ b/frontend/test/metabase/scenarios/visualizations/reproductions/22359-raw-tables-vis-settings.cy.spec.js @@ -0,0 +1,47 @@ +import { popover, restore, visitQuestionAdhoc } from "__support__/e2e/cypress"; + +import { SAMPLE_DATABASE } from "__support__/e2e/cypress_sample_database"; + +const { ORDERS, ORDERS_ID } = SAMPLE_DATABASE; + +const questionDetails = { + name: "21973", + display: "line", + dataset_query: { + type: "query", + database: 1, + query: { + "source-table": ORDERS_ID, + aggregation: [["count"]], + breakout: [["field", ORDERS.CREATED_AT, { "temporal-unit": "month" }]], + }, + }, + visualization_settings: { + "graph.metrics": ["count"], + "graph.dimensions": ["CREATED_AT"], + }, +}; + +describe("issue 22359", () => { + beforeEach(() => { + restore(); + cy.signInAsAdmin(); + }); + + it("should use visualization settings when viewing raw table data (metabase#22359)", () => { + visitQuestionAdhoc(questionDetails); + cy.icon("table2").click(); + cy.findByText("Settings").click(); + + cy.findByTestId("sidebar-left").within(() => { + cy.findByText("Data").click(); + cy.findByText("X-axis") + .parent() + .within(() => cy.icon("gear").click()); + cy.findByText("January, 2018").click(); + }); + + popover().within(() => cy.findByText("1/2018").click()); + cy.findByText("4/2016").should("be.visible"); + }); +}); -- GitLab