From ffa6d85f10dc6c41a2706c52403690b5f338153b Mon Sep 17 00:00:00 2001
From: "Damon P. Cortesi" <d.lifehacker@gmail.com>
Date: Wed, 1 Apr 2020 11:01:14 -0700
Subject: [PATCH] Add Cypress test for #12228 (#12235)

---
 .../support/date_field_filter.cy.spec.js      | 59 +++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 frontend/test/metabase/support/date_field_filter.cy.spec.js

diff --git a/frontend/test/metabase/support/date_field_filter.cy.spec.js b/frontend/test/metabase/support/date_field_filter.cy.spec.js
new file mode 100644
index 00000000000..d0d319f4faa
--- /dev/null
+++ b/frontend/test/metabase/support/date_field_filter.cy.spec.js
@@ -0,0 +1,59 @@
+import { restore, signInAsNormalUser, modal } from "__support__/cypress";
+
+describe("support > join filter (metabase#12228)", () => {
+  before(restore);
+  before(signInAsNormalUser);
+
+  let questionId;
+
+  it.skip("can load a question with a date filter", () => {
+    cy.visit("/question/new");
+
+    // Validate a simple SELECT query works
+    cy.contains("Native query").click();
+    cy.get(".ace_content").type("select count(*) from orders");
+    cy.get(".NativeQueryEditor .Icon-play").click();
+    cy.contains("18,760");
+
+    // Add a date field filter
+    cy.get(".ace_content:visible").type("\nwhere {{date}}", {
+      parseSpecialCharSequences: false,
+    });
+    cy.contains("Variable type")
+      .next()
+      .click();
+    cy.contains("Field Filter").click();
+    cy.contains("Orders").click();
+    cy.contains("Created At").click();
+
+    // Use relative date
+    cy.contains("Filter widget type")
+      .next()
+      .click();
+    cy.contains("Relative Date").click();
+
+    // Save it, don't add it to a dashboard, and get the question ID
+    cy.findByText("Save").click();
+    modal().within(() => {
+      cy.findByLabelText("Name").type("native parameter question");
+      cy.findByText("Save").click();
+    });
+
+    modal()
+      .contains("Not now")
+      .click();
+
+    cy.url()
+      .should("match", /\/question\/\d+$/)
+      .then(url => {
+        questionId = parseInt(url.match(/question\/(\d+)/)[1]);
+
+        // Now browse directly to the question with a field parameter
+        cy.visit(`/question/${questionId}?date=past30days`);
+        modal()
+          .contains("Okay")
+          .click();
+        cy.contains("514");
+      });
+  });
+});
-- 
GitLab