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