mirror of
https://github.com/getredash/redash.git
synced 2025-12-19 17:37:19 -05:00
* Update queries.latest_query_data on save * Add wait on test as loading query and query results may re-render DOM and that makes test fraky * Fix styling report by prettier
87 lines
2.7 KiB
JavaScript
87 lines
2.7 KiB
JavaScript
/* global cy, Cypress */
|
|
|
|
const SQL = `
|
|
SELECT 'a.01' AS a, 1.758831600227 AS b UNION ALL
|
|
SELECT 'a.02' AS a, 613.4456936572 AS b UNION ALL
|
|
SELECT 'a.03' AS a, 9.045647090023 AS b UNION ALL
|
|
SELECT 'a.04' AS a, 29.37836413439 AS b UNION ALL
|
|
SELECT 'a.05' AS a, 642.9434910444 AS b UNION ALL
|
|
SELECT 'a.06' AS a, 176.7634164480 AS b UNION ALL
|
|
SELECT 'a.07' AS a, 279.4880059198 AS b UNION ALL
|
|
SELECT 'a.08' AS a, 78.48128609207 AS b UNION ALL
|
|
SELECT 'a.09' AS a, 14.10443892662 AS b UNION ALL
|
|
SELECT 'a.10' AS a, 59.25097112438 AS b UNION ALL
|
|
SELECT 'a.11' AS a, 61.58610868125 AS b UNION ALL
|
|
SELECT 'a.12' AS a, 277.8473055268 AS b UNION ALL
|
|
SELECT 'a.13' AS a, 621.1535090415 AS b UNION ALL
|
|
SELECT 'a.14' AS a, 261.1409234646 AS b UNION ALL
|
|
SELECT 'a.15' AS a, 72.94883358030 AS b
|
|
`;
|
|
|
|
describe("Funnel", () => {
|
|
const viewportWidth = Cypress.config("viewportWidth");
|
|
|
|
beforeEach(() => {
|
|
cy.login();
|
|
cy.createQuery({ query: SQL }).then(({ id }) => {
|
|
cy.visit(`queries/${id}/source`);
|
|
cy.wait(1500); // eslint-disable-line cypress/no-unnecessary-waiting
|
|
cy.getByTestId("ExecuteButton").click();
|
|
});
|
|
});
|
|
|
|
it("creates visualization", () => {
|
|
cy.clickThrough(`
|
|
NewVisualization
|
|
`);
|
|
cy.getByTestId("VisualizationType").selectAntdOption("VisualizationType.FUNNEL");
|
|
cy.clickThrough(`
|
|
VisualizationEditor.Tabs.General
|
|
|
|
Funnel.StepColumn
|
|
Funnel.StepColumn.a
|
|
Funnel.ValueColumn
|
|
Funnel.ValueColumn.b
|
|
|
|
Funnel.CustomSort
|
|
Funnel.SortColumn
|
|
Funnel.SortColumn.b
|
|
Funnel.SortDirection
|
|
Funnel.SortDirection.Ascending
|
|
`);
|
|
|
|
cy.fillInputs(
|
|
{
|
|
"Funnel.StepColumnTitle": "Column A",
|
|
"Funnel.ValueColumnTitle": "Column B",
|
|
},
|
|
{ wait: 200 }
|
|
); // inputs are debounced
|
|
|
|
// Wait for proper initialization of visualization
|
|
cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting
|
|
cy.getByTestId("VisualizationPreview").find("table").should("exist");
|
|
cy.percySnapshot("Visualizations - Funnel (basic)", { widths: [viewportWidth] });
|
|
|
|
cy.clickThrough(`
|
|
VisualizationEditor.Tabs.Appearance
|
|
`);
|
|
|
|
cy.fillInputs(
|
|
{
|
|
"Funnel.NumberFormat": "0[.]00",
|
|
"Funnel.PercentFormat": "0[.]0000%",
|
|
"Funnel.ItemsLimit": "10",
|
|
"Funnel.PercentRangeMin": "10",
|
|
"Funnel.PercentRangeMax": "90",
|
|
},
|
|
{ wait: 200 }
|
|
); // inputs are debounced
|
|
|
|
// Wait for proper initialization of visualization
|
|
cy.wait(500); // eslint-disable-line cypress/no-unnecessary-waiting
|
|
cy.getByTestId("VisualizationPreview").find("table").should("exist");
|
|
cy.percySnapshot("Visualizations - Funnel (extra options)", { widths: [viewportWidth] });
|
|
});
|
|
});
|