Files
redash/client/cypress/integration/visualizations/map_spec.js
Omer Lachish de052ff02b Cypress touch-ups (#5109)
* allow non-sequential IDs for DataSources in Cypress tests

* refactor redash-api to a set of Cypress commands

* support mounting Redash endpoints in Cypress routes

* fix some parameter specs by waiting for schema to load

* extract baseUrl from cypress.json

* Restyled by prettier (#5110)

Co-authored-by: Restyled.io <commits@restyled.io>

Co-authored-by: restyled-io[bot] <32688539+restyled-io[bot]@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
2020-08-19 21:00:06 +03:00

97 lines
3.6 KiB
JavaScript

/* global cy */
const SQL = `
SELECT 'Israel' AS country, 32.0808800 AS lat, 34.7805700 AS lng UNION ALL
SELECT 'Israel' AS country, 31.7690400 AS lat, 35.2163300 AS lng UNION ALL
SELECT 'Israel' AS country, 32.8184100 AS lat, 34.9885000 AS lng UNION ALL
SELECT 'Ukraine' AS country, 50.4546600 AS lat, 30.5238000 AS lng UNION ALL
SELECT 'Ukraine' AS country, 49.8382600 AS lat, 24.0232400 AS lng UNION ALL
SELECT 'Ukraine' AS country, 49.9808100 AS lat, 36.2527200 AS lng UNION ALL
SELECT 'Hungary' AS country, 47.4980100 AS lat, 19.0399100 AS lng
`;
describe("Map (Markers)", () => {
const viewportWidth = Cypress.config("viewportWidth");
beforeEach(() => {
cy.login();
const mapTileUrl = "/static/images/fixtures/map-tile.png";
cy.createQuery({ query: SQL })
.then(({ id }) => cy.createVisualization(id, "MAP", "Map (Markers)", { mapTileUrl }))
.then(({ id: visualizationId, query_id: queryId }) => {
cy.visit(`queries/${queryId}/source#${visualizationId}`);
cy.getByTestId("ExecuteButton").click();
});
});
it("creates Map with groups", () => {
cy.clickThrough(`
EditVisualization
VisualizationEditor.Tabs.General
Map.Editor.LatitudeColumnName
Map.Editor.LatitudeColumnName.lat
Map.Editor.LongitudeColumnName
Map.Editor.LongitudeColumnName.lng
Map.Editor.GroupBy
Map.Editor.GroupBy.country
`);
cy.clickThrough("VisualizationEditor.Tabs.Groups");
cy.clickThrough("Map.Editor.Groups.Israel.Color");
cy.fillInputs({ "ColorPicker.CustomColor": "red{enter}" });
cy.getByTestId("ColorPicker.CustomColor").should("not.be.visible");
cy.clickThrough("Map.Editor.Groups.Ukraine.Color");
cy.fillInputs({ "ColorPicker.CustomColor": "green{enter}" });
cy.getByTestId("ColorPicker.CustomColor").should("not.be.visible");
cy.clickThrough("Map.Editor.Groups.Hungary.Color");
cy.fillInputs({ "ColorPicker.CustomColor": "blue{enter}" });
cy.getByTestId("ColorPicker.CustomColor").should("not.be.visible");
cy.getByTestId("VisualizationPreview")
.find(".leaflet-control-zoom-in")
.click();
// Wait for proper initialization of visualization
cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting
cy.percySnapshot("Visualizations - Map (Markers) with groups", { widths: [viewportWidth] });
});
it("creates Map with custom markers", () => {
cy.clickThrough(`
EditVisualization
VisualizationEditor.Tabs.General
Map.Editor.LatitudeColumnName
Map.Editor.LatitudeColumnName.lat
Map.Editor.LongitudeColumnName
Map.Editor.LongitudeColumnName.lng
`);
cy.clickThrough(`
VisualizationEditor.Tabs.Style
Map.Editor.ClusterMarkers
Map.Editor.CustomizeMarkers
`);
cy.fillInputs({ "Map.Editor.MarkerIcon": "home" }, { wait: 250 }); // this input is debounced
cy.clickThrough("Map.Editor.MarkerBackgroundColor");
cy.fillInputs({ "ColorPicker.CustomColor": "red{enter}" });
cy.getByTestId("ColorPicker.CustomColor").should("not.be.visible");
cy.clickThrough("Map.Editor.MarkerBorderColor");
cy.fillInputs({ "ColorPicker.CustomColor": "maroon{enter}" });
cy.getByTestId("ColorPicker.CustomColor").should("not.be.visible");
cy.getByTestId("VisualizationPreview")
.find(".leaflet-control-zoom-in")
.click();
// Wait for proper initialization of visualization
cy.wait(1000); // eslint-disable-line cypress/no-unnecessary-waiting
cy.percySnapshot("Visualizations - Map (Markers) with custom markers", { widths: [viewportWidth] });
});
});