diff --git a/frontend/test/metabase/scenarios/auth/search.cy.spec.js b/frontend/test/metabase/scenarios/auth/search.cy.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..c19df331d27eca0c87172694282eb2484b3f1ae2 --- /dev/null +++ b/frontend/test/metabase/scenarios/auth/search.cy.spec.js @@ -0,0 +1,33 @@ +import { + restore, + signInAsAdmin, + signInAsNormalUser, + signIn, +} from "__support__/cypress"; + +describe("scenarios > auth > search", () => { + before(restore); + + describe("universal search", () => { + it("should work for admin", () => { + signInAsAdmin(); + cy.visit("/"); + cy.findByPlaceholderText("Search…").type("product{enter}"); + cy.findByText("PRODUCTS"); + }); + + it.skip("should work for user with permissions (Issue #12332)", () => { + signInAsNormalUser(); + cy.visit("/"); + cy.findByPlaceholderText("Search…").type("product{enter}"); + cy.findByText("PRODUCTS"); + }); + + it("should not work for user without permissions", () => { + signIn("nodata"); + cy.visit("/"); + cy.findByPlaceholderText("Search…").type("product{enter}"); + cy.findByText("PRODUCTS").should("not.exist"); + }); + }); +}); diff --git a/frontend/test/metabase/scenarios/question/filter.cy.spec.js b/frontend/test/metabase/scenarios/question/filter.cy.spec.js new file mode 100644 index 0000000000000000000000000000000000000000..6ba5ff2f5028177127c8db484515288d0d2991c4 --- /dev/null +++ b/frontend/test/metabase/scenarios/question/filter.cy.spec.js @@ -0,0 +1,71 @@ +import { + signInAsAdmin, + restore, + openProductsTable, + popover, +} from "__support__/cypress"; + +describe("scenarios > question > filter", () => { + before(restore); + beforeEach(signInAsAdmin); + + it.skip("should load needed data (Issue #12985)", () => { + // Save a Question + openProductsTable(); + cy.findByText("Save").click(); + cy.findByPlaceholderText("What is the name of your card?") + .clear() + .type("Q1"); + cy.findAllByText("Save") + .last() + .click(); + cy.findByText("Not now").click(); + + // From Q1, save Q2 + cy.visit("/question/new"); + cy.findByText("Simple question").click(); + cy.findByText("Saved Questions").click(); + cy.findByText("Q1").click(); + cy.findByText("Save").click(); + cy.findByPlaceholderText("What is the name of your card?") + .clear() + .type("Q2"); + cy.findAllByText("Save") + .last() + .click(); + + // Add Q2 to a dashboard + cy.findByText("Yes please!").click(); + cy.get(".Icon-dashboard").click(); + + // Add two dashboard filters + cy.get(".Icon-funnel_add").click(); + cy.findByText("Time").click(); + cy.findByText("All Options").click(); + cy.findAllByText("Select…") + .last() + .click(); + cy.findByText("Created At").click(); + + cy.get(".Icon-funnel_add").click(); + cy.findByText("Other Categories").click(); + cy.findAllByText("Select…") + .last() + .click(); + popover().within(() => { + cy.findByText("Category").click(); + }); + + // Save dashboard and refresh page + cy.findByText("Done").click(); + cy.findByText("You are editing a dashboard"); + cy.findByText("Save").click(); + cy.findByText("Save").should("not.exist"); + + // Check category search + cy.get(".Icon-empty").should("not.exist"); + cy.findByText("Category").click(); + cy.findByText("Gadget").click(); + cy.findByText("Add filter").click(); + }); +});