it()

in client/cypress/integration/visualizations/pivot_spec.js [116:164]


  it("takes a snapshot with different configured Pivots", function() {
    const options = {
      aggregatorName: "Sum",
      controls: { enabled: true },
      cols: ["stage1"],
      rows: ["stage2"],
      vals: ["value"],
    };

    const pivotTables = [
      { name: "Pivot", options, position: { autoHeight: false, sizeY: 10, sizeX: 2 } },
      {
        name: "Pivot without Row Totals",
        options: { ...options, rendererOptions: { table: { rowTotals: false } } },
        position: { autoHeight: false, col: 2, sizeY: 10, sizeX: 2 },
      },
      {
        name: "Pivot without Col Totals",
        options: { ...options, rendererOptions: { table: { colTotals: false } } },
        position: { autoHeight: false, col: 4, sizeY: 10, sizeX: 2 },
      },
      {
        name: "Pivot with Controls",
        options: { ...options, controls: { enabled: false } },
        position: { autoHeight: false, row: 9, sizeY: 13 },
      },
    ];

    createDashboard("Pivot Visualization")
      .then(dashboard => {
        this.dashboardUrl = `/dashboard/${dashboard.slug}`;
        return cy.all(
          pivotTables.map(pivot => () =>
            createVisualization(this.queryId, "PIVOT", pivot.name, pivot.options).then(visualization =>
              addWidget(dashboard.id, visualization.id, { position: pivot.position })
            )
          )
        );
      })
      .then(widgets => {
        cy.visit(this.dashboardUrl);
        widgets.forEach(widget => {
          cy.getByTestId(getWidgetTestId(widget)).within(() =>
            cy.getByTestId("PivotTableVisualization").should("exist")
          );
        });
        cy.percySnapshot("Visualizations - Pivot Table");
      });
  });