From 06f35d71e1d010967167c14c9ee3a9a2e77465f2 Mon Sep 17 00:00:00 2001
From: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>
Date: Thu, 10 Feb 2022 20:21:59 +0100
Subject: [PATCH] Remove duplicated binning repros (#20429)

* Remove superfluous isolated repro for 15648

* Remove superfluous isolated repro for 11183

* Remove superfluous isolated repro for 15574

* Remove superfluous isolated repro for 15446
---
 .../binning/binning-options.cy.spec.js        |   5 +-
 .../binning/binning-reproductions.cy.spec.js  | 113 +-----------------
 .../correctness/time-series.cy.spec.js        |   5 +
 .../binning/qb-explicit-joins.cy.spec.js      |   5 +
 .../binning/qb-implicit-joins.cy.spec.js      |   6 +
 5 files changed, 21 insertions(+), 113 deletions(-)

diff --git a/frontend/test/metabase/scenarios/binning/binning-options.cy.spec.js b/frontend/test/metabase/scenarios/binning/binning-options.cy.spec.js
index 7dc23e836bf..3f29ea9cce3 100644
--- a/frontend/test/metabase/scenarios/binning/binning-options.cy.spec.js
+++ b/frontend/test/metabase/scenarios/binning/binning-options.cy.spec.js
@@ -98,6 +98,9 @@ const LONGITUDE_BUCKETS = [
  * Makes sure that all binning options (bucket sizes) are rendered correctly for the regular table.
  *  1. no option should be rendered multiple times
  *  2. the selected option should be highlighted when the popover with all options opens
+ *
+ * This spec covers the following issues:
+ *  - metabase#15574
  */
 
 describe("scenarios > binning > binning options", () => {
@@ -180,7 +183,7 @@ describe("scenarios > binning > binning options", () => {
     });
   });
 
-  context("via time series footer", () => {
+  context("via time series footer (metabase#11183)", () => {
     it("should render time series binning options correctly", () => {
       openTable({ table: ORDERS_ID });
 
diff --git a/frontend/test/metabase/scenarios/binning/binning-reproductions.cy.spec.js b/frontend/test/metabase/scenarios/binning/binning-reproductions.cy.spec.js
index 74829a5c593..6983faecd50 100644
--- a/frontend/test/metabase/scenarios/binning/binning-reproductions.cy.spec.js
+++ b/frontend/test/metabase/scenarios/binning/binning-reproductions.cy.spec.js
@@ -2,7 +2,6 @@ import {
   restore,
   popover,
   visualize,
-  openOrdersTable,
   visitQuestionAdhoc,
   changeBinningForDimension,
   getBinningButtonForDimension,
@@ -11,7 +10,7 @@ import {
 } from "__support__/e2e/cypress";
 import { SAMPLE_DATABASE } from "__support__/e2e/cypress_sample_database";
 
-const { ORDERS, ORDERS_ID, PRODUCTS, PRODUCTS_ID } = SAMPLE_DATABASE;
+const { ORDERS, ORDERS_ID } = SAMPLE_DATABASE;
 
 describe("binning related reproductions", () => {
   beforeEach(() => {
@@ -19,64 +18,6 @@ describe("binning related reproductions", () => {
     cy.signInAsAdmin();
   });
 
-  // This is basically covered with tests in `frontend/test/metabase/scenarios/binning/binning-options.cy.spec.js`
-  it("should not render duplicated values in date binning popover (metabase#15574)", () => {
-    openOrdersTable({ mode: "notebook" });
-    summarize({ mode: "notebook" });
-    cy.findByText("Pick a column to group by").click();
-
-    changeBinningForDimension({
-      name: "Created At",
-      fromBinning: "by month",
-      toBinning: "Minute",
-    });
-  });
-
-  it("binning for a date column on a joined table should offer only a single set of values (metabase#15446)", () => {
-    cy.createQuestion({
-      name: "15446",
-      query: {
-        "source-table": ORDERS_ID,
-        joins: [
-          {
-            fields: "all",
-            "source-table": PRODUCTS_ID,
-            condition: [
-              "=",
-              ["field", ORDERS.PRODUCT_ID, null],
-              [
-                "field",
-                PRODUCTS.ID,
-                {
-                  "join-alias": "Products",
-                },
-              ],
-            ],
-            alias: "Products",
-          },
-        ],
-        aggregation: [["sum", ["field", ORDERS.TOTAL, null]]],
-      },
-    }).then(({ body: { id: QUESTION_ID } }) => {
-      cy.visit(`/question/${QUESTION_ID}/notebook`);
-    });
-    cy.findByText("Pick a column to group by").click();
-    // In the first popover we'll choose the breakout method
-    popover().within(() => {
-      cy.findByText("User").click();
-      cy.findByPlaceholderText("Find...").type("cr");
-    });
-
-    changeBinningForDimension({
-      name: "Created At",
-      fromBinning: "by month",
-      toBinning: "Minute",
-    });
-
-    // Given that the previous step passes, we should now see this in the UI
-    cy.findByText("User → Created At: Minute");
-  });
-
   it("shouldn't render double binning options when question is based on the saved native question (metabase#16327)", () => {
     cy.createNativeQuestion({
       name: "16327",
@@ -213,27 +154,6 @@ describe("binning related reproductions", () => {
     });
   });
 
-  // Probably safe to delete in the future - we're covering this steps in the main binnig tests
-  it("should display timeseries filter and granularity widgets at the bottom of the screen (metabase#11183)", () => {
-    const questionDetails = {
-      name: "11183",
-      query: {
-        "source-table": ORDERS_ID,
-        aggregation: [["sum", ["field", ORDERS.SUBTOTAL, null]]],
-        breakout: [["field", ORDERS.CREATED_AT, { "temporal-unit": "month" }]],
-      },
-      display: "line",
-    };
-
-    cy.createQuestion(questionDetails, { visitQuestion: true });
-
-    cy.log("Reported missing in v0.33.1");
-    cy.findAllByTestId("select-button")
-      .as("select")
-      .contains(/All Time/i);
-    cy.get("@select").contains(/Month/i);
-  });
-
   it("should display date granularity on Summarize when opened from saved question (metabase#11439)", () => {
     // save "Orders" as question
     cy.createQuestion({
@@ -270,37 +190,6 @@ describe("binning related reproductions", () => {
     cy.findByText("Hour of Day");
   });
 
-  it("binning on values from joined table should work (metabase#15648)", () => {
-    // Simple question
-    openOrdersTable();
-    summarize();
-    cy.findByText("Group by")
-      .parent()
-      .findByText("Rating")
-      .click();
-    cy.get(".Visualization .bar").should("have.length", 6);
-
-    // Custom question ("Notebook")
-    openOrdersTable({ mode: "notebook" });
-    summarize({ mode: "notebook" });
-    cy.findByText("Count of rows").click();
-    cy.findByText("Pick a column to group by").click();
-    popover().within(() => {
-      // Close expanded "Orders" section in order to bring everything else into view
-      cy.get(".List-section-title")
-        .contains(/Orders?/)
-        .click();
-      cy.get(".List-section-title")
-        .contains(/Products?/)
-        .click();
-      cy.findByText("Rating").click();
-    });
-
-    visualize();
-
-    cy.get(".Visualization .bar").should("have.length", 6);
-  });
-
   describe("binning should work on nested question based on question that has aggregation (metabase#16379)", () => {
     beforeEach(() => {
       cy.createQuestion(
diff --git a/frontend/test/metabase/scenarios/binning/correctness/time-series.cy.spec.js b/frontend/test/metabase/scenarios/binning/correctness/time-series.cy.spec.js
index e9fe60caed2..54c8d385bd1 100644
--- a/frontend/test/metabase/scenarios/binning/correctness/time-series.cy.spec.js
+++ b/frontend/test/metabase/scenarios/binning/correctness/time-series.cy.spec.js
@@ -19,6 +19,11 @@ const questionDetails = {
   },
 };
 
+/**
+ * The list of issues this spec covers:
+ *  - metabase#11183
+ *  -
+ */
 describe("scenarios > binning > correctness > time series", () => {
   beforeEach(() => {
     restore();
diff --git a/frontend/test/metabase/scenarios/binning/qb-explicit-joins.cy.spec.js b/frontend/test/metabase/scenarios/binning/qb-explicit-joins.cy.spec.js
index 62d32e77cb5..8256256d126 100644
--- a/frontend/test/metabase/scenarios/binning/qb-explicit-joins.cy.spec.js
+++ b/frontend/test/metabase/scenarios/binning/qb-explicit-joins.cy.spec.js
@@ -15,6 +15,11 @@ const {
   PRODUCTS,
 } = SAMPLE_DATABASE;
 
+/**
+ * The list of issues this spec covers:
+ *  - metabase#15446
+ *  -
+ */
 describe("scenarios > binning > from a saved QB question with explicit joins", () => {
   beforeEach(() => {
     restore();
diff --git a/frontend/test/metabase/scenarios/binning/qb-implicit-joins.cy.spec.js b/frontend/test/metabase/scenarios/binning/qb-implicit-joins.cy.spec.js
index 6995e4ef64e..242e9ae5c80 100644
--- a/frontend/test/metabase/scenarios/binning/qb-implicit-joins.cy.spec.js
+++ b/frontend/test/metabase/scenarios/binning/qb-implicit-joins.cy.spec.js
@@ -5,6 +5,12 @@ import {
   summarize,
 } from "__support__/e2e/cypress";
 
+/**
+ * The list of issues this spec covers:
+ *  - metabase#15648
+ *  -
+ */
+
 describe("scenarios > binning > from a saved QB question using implicit joins", () => {
   beforeEach(() => {
     restore();
-- 
GitLab