From 4a7dcd260c1fcb6faa8b453de538d839e9379e85 Mon Sep 17 00:00:00 2001
From: Jessica DeWitt <58329466+Opalevanescence@users.noreply.github.com>
Date: Thu, 16 Jul 2020 09:58:15 -0700
Subject: [PATCH] Repro/Column confusion (#12833)

* cypress repro for #12649

* improved import syntax

* Add skip so test passes until issue is fixed
---
 .../question/custom_column.cy.spec.js         | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 frontend/test/metabase/scenarios/question/custom_column.cy.spec.js

diff --git a/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js b/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js
new file mode 100644
index 00000000000..0e789352558
--- /dev/null
+++ b/frontend/test/metabase/scenarios/question/custom_column.cy.spec.js
@@ -0,0 +1,58 @@
+import {
+  restore,
+  signInAsNormalUser,
+  popover,
+} from "../../../__support__/cypress";
+
+function firstCell(contain_assertion, value) {
+  cy.get(".TableInteractive-cellWrapper")
+    .not(".TableInteractive-headerCellData")
+    .first()
+    .should(contain_assertion, value);
+}
+
+describe("scenarios > question > custom columns", () => {
+  before(restore);
+  beforeEach(signInAsNormalUser);
+
+  it.skip("cc should only apply to correct column (Issue #12649)", () => {
+    // Create custom question
+    cy.visit("/question/new");
+    cy.findByText("Custom question").click();
+    cy.findByText("Sample Dataset").click();
+    cy.findByText("Orders").click();
+    cy.get(".Icon-join_left_outer").click();
+    cy.findByText("Products").click();
+    cy.findByText("Visualize").click();
+
+    cy.wait(1000)
+      .findByText("where")
+      .should("not.exist");
+    cy.findByText("Orders + Products");
+    cy.findByText("Product → ID");
+    firstCell("contain", 1);
+    firstCell("not.contain", 14);
+
+    // Add custom column formula
+    cy.get(".Icon-notebook").click();
+    cy.findByText("Custom column").click();
+    popover().within($popover => {
+      cy.get("p")
+        .first()
+        .click();
+      cy.get("[contenteditable='true']")
+        .type("1 + 1")
+        .click();
+      cy.get("input")
+        .last()
+        .type("X");
+      cy.findByText("Done").click();
+    });
+    cy.findByText("Visualize").click();
+
+    cy.findByText("Visualize").should("not.exist");
+    cy.findByText("Product → ID");
+    firstCell("contain", 1);
+    firstCell("not.contain", 14);
+  });
+});
-- 
GitLab