From 1d107a066456e9b19d7bbc477d06ca0089021cc5 Mon Sep 17 00:00:00 2001 From: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com> Date: Sat, 10 Jul 2021 00:51:46 +0200 Subject: [PATCH] [SQL filters coverage] Add initial set of e2e tests around SQL field filter type of ID (#16926) * Add test for SQL field filter of the type ID * Fix spelling Co-authored-by: Gustavo Saiani <gustavo@poe.ma> --- .../filters/sql-field-filter-id.cy.spec.js | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 frontend/test/metabase/scenarios/filters/sql-field-filter-id.cy.spec.js diff --git a/frontend/test/metabase/scenarios/filters/sql-field-filter-id.cy.spec.js b/frontend/test/metabase/scenarios/filters/sql-field-filter-id.cy.spec.js new file mode 100644 index 00000000000..ba6c461a677 --- /dev/null +++ b/frontend/test/metabase/scenarios/filters/sql-field-filter-id.cy.spec.js @@ -0,0 +1,56 @@ +import { + restore, + mockSessionProperty, + openNativeEditor, +} from "__support__/e2e/cypress"; + +import * as SQLFilter from "./helpers/e2e-sql-filter-helpers"; +import * as FieldFilter from "./helpers/e2e-field-filter-helpers"; + +describe("scenarios > filters > sql filters > field filter > ID", () => { + beforeEach(() => { + restore(); + cy.intercept("POST", "api/dataset").as("dataset"); + + cy.signInAsAdmin(); + // Make sure feature flag is on regardless of the environment where this is running + mockSessionProperty("field-filter-operators-enabled?", true); + + openNativeEditor(); + SQLFilter.enterParameterizedQuery( + "SELECT * FROM products WHERE {{filter}}", + ); + + SQLFilter.openTypePickerFromDefaultFilterType(); + SQLFilter.chooseType("Field Filter"); + + FieldFilter.mapTo({ + table: "Products", + field: "ID", + }); + + FieldFilter.setWidgetType("ID"); + }); + + it("should work when set initially as default value and then through the filter widget", () => { + SQLFilter.toggleRequired(); + + FieldFilter.openEntryForm({ isFilterRequired: true }); + FieldFilter.addDefaultStringFilter("2"); + + SQLFilter.runQuery(); + + cy.get(".Visualization").within(() => { + cy.findByText("Small Marble Shoes"); + }); + + FieldFilter.openEntryForm(); + FieldFilter.addWidgetStringFilter("1"); + + SQLFilter.runQuery(); + + cy.get(".Visualization").within(() => { + cy.findByText("Rustic Paper Wallet"); + }); + }); +}); -- GitLab