You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2022/09/30 14:06:06 UTC

[superset] branch chore/d2d-e2e-tests created (now afbd997d88)

This is an automated email from the ASF dual-hosted git repository.

diegopucci pushed a change to branch chore/d2d-e2e-tests
in repository https://gitbox.apache.org/repos/asf/superset.git


      at afbd997d88 Add tests Tier1 and Tier2

This branch includes the following new commits:

     new 045dda27d6 Merge branch 'master' of https://github.com/apache/superset into chore/d2d-e2e-tests
     new afbd997d88 Add tests Tier1 and Tier2

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[superset] 01/02: Merge branch 'master' of https://github.com/apache/superset into chore/d2d-e2e-tests

Posted by di...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

diegopucci pushed a commit to branch chore/d2d-e2e-tests
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 045dda27d62d93483018413d606d05a84afcaac8
Merge: b2a360fa14 eeb979c150
Author: geido <di...@gmail.com>
AuthorDate: Fri Sep 30 14:14:41 2022 +0300

    Merge branch 'master' of https://github.com/apache/superset into chore/d2d-e2e-tests

 .../cypress/integration/chart_list/filter.test.ts  |    4 +-
 .../integration/dashboard/drilltodetail.test.ts    |  343 +++---
 .../cypress/integration/dashboard/editmode.test.ts |   14 +-
 .../cypress/integration/dashboard/utils.ts         |   14 +-
 .../integration/dashboard_list/list.test.ts        |    4 +-
 .../explore/visualizations/gauge.test.js           |    4 +-
 .../cypress-base/cypress/utils/urls.ts             |    3 +-
 superset/cli/examples.py                           |    4 +-
 superset/examples/data_loading.py                  |    2 +-
 superset/examples/echarts_dashboard.py             |  250 ----
 superset/examples/supported_charts_dashboard.py    | 1302 ++++++++++++++++++++
 11 files changed, 1514 insertions(+), 430 deletions(-)


[superset] 02/02: Add tests Tier1 and Tier2

Posted by di...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

diegopucci pushed a commit to branch chore/d2d-e2e-tests
in repository https://gitbox.apache.org/repos/asf/superset.git

commit afbd997d8810ec42fe1d375368e3c11b8a50cdeb
Author: geido <di...@gmail.com>
AuthorDate: Fri Sep 30 17:05:39 2022 +0300

    Add tests Tier1 and Tier2
---
 .../integration/dashboard/drilltodetail.test.ts    | 608 +++++++++++++++++++--
 1 file changed, 552 insertions(+), 56 deletions(-)

diff --git a/superset-frontend/cypress-base/cypress/integration/dashboard/drilltodetail.test.ts b/superset-frontend/cypress-base/cypress/integration/dashboard/drilltodetail.test.ts
index d44f6a27e4..4d83f854f6 100644
--- a/superset-frontend/cypress-base/cypress/integration/dashboard/drilltodetail.test.ts
+++ b/superset-frontend/cypress-base/cypress/integration/dashboard/drilltodetail.test.ts
@@ -42,10 +42,13 @@ function openModalFromMenu(chartType: string) {
 function openModalFromChartContext(targetMenuItem: string) {
   interceptSamples();
 
+  cy.wait(500);
   cy.get('.ant-dropdown')
     .not('.ant-dropdown-hidden')
+    .first()
     .find("[role='menu'] [role='menuitem']")
-    .should('contain', targetMenuItem)
+    .contains(targetMenuItem)
+    .first()
     .click();
   cy.wait('@samples');
 }
@@ -130,90 +133,322 @@ describe('Drill to detail modal', () => {
       });
     });
 
+    describe('Big number total', () => {
+      it('opens the modal with no filters', () => {
+        interceptSamples();
+
+        // opens the modal by clicking on the number on the chart
+        cy.get("[data-test-viz-type='big_number_total'] .header-line")
+          .scrollIntoView()
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail');
+
+        cy.getBySel('filter-val').should('not.exist');
+      });
+    });
+
+    describe('Big number with trendline', () => {
+      it('opens the modal with the correct data', () => {
+        interceptSamples();
+
+        // opens the modal by clicking on the number
+        cy.get("[data-test-viz-type='big_number'] .header-line")
+          .scrollIntoView()
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail');
+
+        cy.getBySel('filter-val').should('not.exist');
+
+        closeModal();
+
+        // opens the modal by clicking on the trendline
+        cy.get("[data-test-viz-type='big_number'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().click(1, 18).rightclick(1, 18);
+
+          openModalFromChartContext('Drill to detail by 1965-01-01');
+
+          // checking the filter
+          cy.getBySel('filter-val').should('contain', '1965-01-01');
+        });
+      });
+    });
+
+    describe('Table', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='table']")
+          .scrollIntoView()
+          .contains('boy')
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by boy');
+
+        cy.getBySel('filter-val').should('contain', 'boy');
+
+        closeModal();
+
+        cy.get("[data-test-viz-type='table']")
+          .scrollIntoView()
+          .contains('girl')
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by girl');
+
+        cy.getBySel('filter-val').should('contain', 'girl');
+      });
+    });
+
+    describe('Pivot Table V2', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='pivot_table_v2']")
+          .scrollIntoView()
+          .find('[role="gridcell"]')
+          .first()
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by boy');
+
+        cy.getBySel('filter-val').should('contain', 'boy');
+        closeModal();
+
+        cy.get("[data-test-viz-type='pivot_table_v2']")
+          .scrollIntoView()
+          .find('[role="gridcell"]')
+          .first()
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by CA');
+
+        cy.getBySel('filter-val').should('contain', 'CA');
+        closeModal();
+
+        cy.get("[data-test-viz-type='pivot_table_v2']")
+          .scrollIntoView()
+          .find('[role="gridcell"]')
+          .eq(3)
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by girl');
+
+        cy.getBySel('filter-val').should('contain', 'girl');
+        closeModal();
+
+        cy.get("[data-test-viz-type='pivot_table_v2']")
+          .scrollIntoView()
+          .find('[role="gridcell"]')
+          .eq(3)
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by FL');
+
+        cy.getBySel('filter-val').should('contain', 'FL');
+        closeModal();
+
+        cy.get("[data-test-viz-type='pivot_table_v2']")
+          .scrollIntoView()
+          .find('[role="gridcell"]')
+          .eq(3)
+          .rightclick();
+
+        openModalFromChartContext('Drill to detail by all');
+
+        cy.getBySel('filter-val').first().should('contain', 'girl');
+        cy.getBySel('filter-val').eq(1).should('contain', 'FL');
+      });
+    });
+
+    describe('Time-Series Line Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='echarts_timeseries_line'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
+      });
+    });
+
     describe('Time-series Bar Chart V2', () => {
       it('opens the modal with the correct filters', () => {
         interceptSamples();
 
         cy.get("[data-test-viz-type='echarts_timeseries_bar'] canvas").then(
           $canvas => {
+            cy.wrap($canvas).scrollIntoView().rightclick(70, 100);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().rightclick(70, 100);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().rightclick(70, 100);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().rightclick(72, 200);
+
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+            closeModal();
+
             cy.wrap($canvas)
               .scrollIntoView()
-              .rightclick(70, 100, { force: true });
-            cy.get('.ant-dropdown')
-              .not('.ant-dropdown-hidden')
-              .find("[role='menu'] [role='menuitem']")
-              .should('have.length', 3)
-              .then($menuitems => {
-                expect($menuitems).to.contain('Drill to detail by 1965');
-                expect($menuitems).to.contain('Drill to detail by boy');
-                expect($menuitems).to.contain('Drill to detail by all');
-              })
-              .eq(2)
-              .click();
-            cy.wait('@samples');
-
-            cy.getBySel('filter-val').then($filters => {
-              expect($filters).to.contain('1965');
-              expect($filters).to.contain('boy');
-            });
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
           },
         );
       });
     });
 
-    describe('Pie', () => {
+    describe('Time-Series Area Chart', () => {
       it('opens the modal with the correct filters', () => {
         interceptSamples();
 
-        // opens the modal by clicking on the slice of the Pie chart
-        cy.get("[data-test-viz-type='pie'] canvas").then($canvas => {
-          const canvasWidth = $canvas.width() || 0;
-          const canvasHeight = $canvas.height() || 0;
-          const canvasCenterX = canvasWidth / 3;
-          const canvasCenterY = canvasHeight / 2;
+        cy.get("[data-test-viz-type='echarts_area'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
 
-          cy.wrap($canvas)
-            .scrollIntoView()
-            .rightclick(canvasCenterX, canvasCenterY, { force: true });
+          openModalFromChartContext('Drill to detail by 1965');
+          cy.getBySel('filter-val').should('contain', '1965');
+          closeModal();
 
-          openModalFromChartContext('Drill to detail by girl');
+          cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+          openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
 
-          // checking the filtered and paginated data
+          cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+          openModalFromChartContext('Drill to detail by all');
+          cy.getBySel('filter-val').first().should('contain', '1965');
+          cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+          closeModal();
+
+          cy.wrap($canvas).scrollIntoView().click(70, 145).rightclick(70, 145);
+          openModalFromChartContext('Drill to detail by girl');
           cy.getBySel('filter-val').should('contain', 'girl');
+          closeModal();
+
+          cy.wrap($canvas).scrollIntoView().click(70, 145).rightclick(70, 145);
+          openModalFromChartContext('Drill to detail by all');
+          cy.getBySel('filter-val').first().should('contain', '1965');
+          cy.getBySel('filter-val').eq(1).should('contain', 'girl');
         });
       });
     });
 
-    describe('Big number total', () => {
-      it('opens the modal with no filters', () => {
+    describe('Time-Series Scatter Chart', () => {
+      it('opens the modal with the correct filters', () => {
         interceptSamples();
 
-        // opens the modal by clicking on the number on the chart
-        cy.get("[data-test-viz-type='big_number_total'] .header-line")
-          .scrollIntoView()
-          .rightclick();
+        cy.get("[data-test-viz-type='echarts_timeseries_scatter'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
 
-        openModalFromChartContext('Drill to detail');
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
 
-        cy.getBySel('filter-val').should('not.exist');
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
       });
     });
 
-    describe('Big number with trendline', () => {
-      it('opens the modal with the correct data', () => {
+    describe('Pie', () => {
+      it('opens the modal with the correct filters', () => {
         interceptSamples();
 
-        // opens the modal by clicking on the number
-        cy.get("[data-test-viz-type='big_number'] .header-line")
-          .scrollIntoView()
-          .rightclick();
+        // opens the modal by clicking on the slice of the Pie chart
+        cy.get("[data-test-viz-type='pie'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().rightclick(130, 150);
 
-        openModalFromChartContext('Drill to detail');
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
+          closeModal();
 
-        cy.getBySel('filter-val').should('not.exist');
+          cy.wrap($canvas).scrollIntoView().rightclick(230, 190);
 
-        // TODO: test clicking on a trendline
-        // Cypress is refusing to rightclick on the dot
+          openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+        });
       });
     });
   });
@@ -274,21 +509,282 @@ describe('Drill to detail modal', () => {
       it('opens the modal with the correct filters', () => {
         interceptSamples();
 
-        // opens the modal by clicking on the box on the chart
         cy.get("[data-test-viz-type='box_plot'] canvas").then($canvas => {
-          const canvasWidth = $canvas.width() || 0;
-          const canvasHeight = $canvas.height() || 0;
-          const canvasCenterX = canvasWidth / 3;
-          const canvasCenterY = (canvasHeight * 5) / 6;
+          cy.wrap($canvas)
+            .scrollIntoView()
+            .click(135, 275)
+            .rightclick(135, 275);
+
+          openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
 
           cy.wrap($canvas)
             .scrollIntoView()
-            .rightclick(canvasCenterX, canvasCenterY, { force: true });
+            .click(270, 280)
+            .rightclick(270, 280);
+
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
+        });
+      });
+    });
+
+    describe('Time-Series Generic Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='echarts_timeseries'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
+      });
+    });
+
+    describe('Time-Series Smooth Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='echarts_timeseries_smooth'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
+      });
+    });
+
+    describe('Time-Series Step Line Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='echarts_timeseries_step'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
+      });
+    });
+
+    describe('Funnel Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='funnel'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().rightclick(170, 90);
 
           openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
 
-          // checking the filter
+          cy.wrap($canvas).scrollIntoView().rightclick(190, 250);
+
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
+        });
+      });
+    });
+
+    describe('Gauge Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='gauge_chart'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().rightclick(135, 95);
+
+          openModalFromChartContext('Drill to detail by boy');
           cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
+
+          cy.wrap($canvas).scrollIntoView().rightclick(95, 135);
+
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
+        });
+      });
+    });
+
+    describe('Mixed Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='mixed_timeseries'] canvas").then(
+          $canvas => {
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by 1965');
+            cy.getBySel('filter-val').should('contain', '1965');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by boy');
+            cy.getBySel('filter-val').should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas).scrollIntoView().click(70, 93).rightclick(70, 93);
+
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'boy');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by girl');
+            cy.getBySel('filter-val').should('contain', 'girl');
+            closeModal();
+
+            cy.wrap($canvas)
+              .scrollIntoView()
+              .click(70, 145)
+              .rightclick(70, 145);
+            openModalFromChartContext('Drill to detail by all');
+            cy.getBySel('filter-val').first().should('contain', '1965');
+            cy.getBySel('filter-val').eq(1).should('contain', 'girl');
+          },
+        );
+      });
+    });
+
+    describe('Radar Chart', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='radar'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().rightclick(180, 45);
+
+          openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
+
+          cy.wrap($canvas).scrollIntoView().rightclick(180, 85);
+
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
+        });
+      });
+    });
+
+    describe('Treemap V2', () => {
+      it('opens the modal with the correct filters', () => {
+        interceptSamples();
+
+        cy.get("[data-test-viz-type='treemap_v2'] canvas").then($canvas => {
+          cy.wrap($canvas).scrollIntoView().rightclick(100, 30);
+
+          openModalFromChartContext('Drill to detail by boy');
+          cy.getBySel('filter-val').should('contain', 'boy');
+          closeModal();
+
+          cy.wrap($canvas).scrollIntoView().rightclick(150, 250);
+
+          openModalFromChartContext('Drill to detail by girl');
+          cy.getBySel('filter-val').should('contain', 'girl');
         });
       });
     });