From 785d5017e2893a7723f3d3f7b09361d9a3310c08 Mon Sep 17 00:00:00 2001 From: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com> Date: Fri, 24 Jul 2020 09:46:03 -0400 Subject: [PATCH] Remove card id from questions updated by drills (#12960) --- .../src/metabase/visualizations/lib/utils.js | 1 + .../scenarios/question/saved.cy.spec.js | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 frontend/test/metabase/scenarios/question/saved.cy.spec.js diff --git a/frontend/src/metabase/visualizations/lib/utils.js b/frontend/src/metabase/visualizations/lib/utils.js index 371dd47a69c..537cb868f8f 100644 --- a/frontend/src/metabase/visualizations/lib/utils.js +++ b/frontend/src/metabase/visualizations/lib/utils.js @@ -234,6 +234,7 @@ export function getCardAfterVisualizationClick(nextCard, previousCard) { isMultiseriesQuestion ? previousCard.id : nextCard.id, + id: null, }; } else { // Even though the card is currently clean, we might still apply dashboard parameters to it, diff --git a/frontend/test/metabase/scenarios/question/saved.cy.spec.js b/frontend/test/metabase/scenarios/question/saved.cy.spec.js new file mode 100644 index 00000000000..4e9bdccc8a2 --- /dev/null +++ b/frontend/test/metabase/scenarios/question/saved.cy.spec.js @@ -0,0 +1,40 @@ +import { + restore, + signInAsNormalUser, + popover, + modal, +} from "__support__/cypress"; + +describe("scenarios > question > saved", () => { + before(restore); + beforeEach(signInAsNormalUser); + + it("view and filter saved question", () => { + cy.visit("/question/1"); + cy.findAllByText("Orders"); // question and table name appears + + // filter to only orders with quantity=100 + cy.findByText("Quantity").click(); + popover().within(() => cy.findByText("Filter").click()); + popover().within(() => { + cy.findByPlaceholderText("Search the list").type("100"); + cy.findByText("Update filter").click(); + }); + cy.findByText("Quantity is equal to 100"); + cy.findByText("Showing 2 rows"); // query updated + + // check that save will give option to replace + cy.findByText("Save").click(); + modal().within(() => { + cy.findByText('Replace original question, "Orders"'); + cy.findByText("Save as new question"); + cy.findByText("Cancel").click(); + }); + + // click "Started from Orders" and check that the original question is restored + cy.findByText("Started from").within(() => cy.findByText("Orders").click()); + cy.findByText("Showing first 2,000 rows"); // query updated + cy.findByText("Started from").should("not.exist"); + cy.findByText("Quantity is equal to 100").should("not.exist"); + }); +}); -- GitLab