From 0297a50cc8aed410369d1990fff77c76c509ebb5 Mon Sep 17 00:00:00 2001 From: Alexander Lesnenko <alxnddr@users.noreply.github.com> Date: Thu, 2 Jun 2022 14:48:28 +0400 Subject: [PATCH] fix column settings ignored (#23068) * fix column settings ignored * better fix --- .../lib/queries/StructuredQuery.ts | 2 +- .../components/TableInteractive.jsx | 1 + ...23-preview-shows-hidden-columns.cy.spec.js | 58 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 frontend/test/metabase/scenarios/question/reproductions/23023-preview-shows-hidden-columns.cy.spec.js diff --git a/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts b/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts index 3b8d9e2a8f7..75d4da6f0af 100644 --- a/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts +++ b/frontend/src/metabase-lib/lib/queries/StructuredQuery.ts @@ -1162,7 +1162,7 @@ class StructuredQueryInner extends AtomicQuery { } } - if (this.isRaw()) { + if (this.isRaw() && this.sourceQuery()) { query = query.clearFields(); } diff --git a/frontend/src/metabase/visualizations/components/TableInteractive.jsx b/frontend/src/metabase/visualizations/components/TableInteractive.jsx index 15fcbd72d29..e2ed11ac0e7 100644 --- a/frontend/src/metabase/visualizations/components/TableInteractive.jsx +++ b/frontend/src/metabase/visualizations/components/TableInteractive.jsx @@ -709,6 +709,7 @@ class TableInteractive extends Component { }} > <div + data-testid="header-cell" ref={e => (this.headerRefs[columnIndex] = e)} style={{ ...style, diff --git a/frontend/test/metabase/scenarios/question/reproductions/23023-preview-shows-hidden-columns.cy.spec.js b/frontend/test/metabase/scenarios/question/reproductions/23023-preview-shows-hidden-columns.cy.spec.js new file mode 100644 index 00000000000..43e82a0279e --- /dev/null +++ b/frontend/test/metabase/scenarios/question/reproductions/23023-preview-shows-hidden-columns.cy.spec.js @@ -0,0 +1,58 @@ +import { + restore, + visitQuestionAdhoc, + openNotebook, +} from "__support__/e2e/cypress"; +import { SAMPLE_DB_ID } from "__support__/e2e/cypress_data"; +import { SAMPLE_DATABASE } from "__support__/e2e/cypress_sample_database"; + +const { ORDERS, ORDERS_ID, PRODUCTS, PRODUCTS_ID } = SAMPLE_DATABASE; + +const questionDetails = { + display: "table", + dataset_query: { + database: SAMPLE_DB_ID, + query: { + "source-table": ORDERS_ID, + joins: [ + { + fields: [["field", PRODUCTS.CATEGORY, { "join-alias": "Products" }]], + "source-table": PRODUCTS_ID, + condition: [ + "=", + ["field", ORDERS.PRODUCT_ID, null], + ["field", PRODUCTS.ID, { "join-alias": "Products" }], + ], + alias: "Products", + }, + ], + fields: [ + ["field", ORDERS.ID, null], + ["field", ORDERS.PRODUCT_ID, null], + ], + }, + type: "query", + }, +}; + +describe("issue 23023", () => { + beforeEach(() => { + restore(); + cy.signInAsAdmin(); + }); + + it("should show only selected columns in a step preview (metabase#23023)", () => { + visitQuestionAdhoc(questionDetails); + + openNotebook(); + + cy.icon("play") + .eq(1) + .click(); + + cy.findAllByTestId("header-cell").contains("Products → Category"); + cy.findAllByTestId("header-cell") + .contains("Tax") + .should("not.exist"); + }); +}); -- GitLab