The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
grafana/e2e-playwright/panels-suite/geomap-map-controls.spec.ts

83 lines
3.5 KiB

import { test, expect } from '@grafana/plugin-e2e';
const DASHBOARD_ID = 'P2jR04WVk';
test.describe(
'Panels test: Geomap layer controls options',
{
tag: ['@panels'],
},
() => {
test('Tests map controls options', async ({ gotoDashboardPage, selectors, page }) => {
const dashboardPage = await gotoDashboardPage({
uid: DASHBOARD_ID,
queryParams: new URLSearchParams({ editPanel: '1' }),
});
// Wait until the query editor has been loaded by ensuring that the QueryEditor select contains the text 'flight_info_by_state.csv'
await expect(
page.locator(selectors.components.Select.singleValue('')).getByText('flight_info_by_state.csv')
).toBeVisible();
const mapControlsGroup = dashboardPage.getByGrafanaSelector(
selectors.components.OptionsGroup.group('Map controls')
);
await expect(mapControlsGroup).toBeVisible();
// Show zoom field
const showZoomField = dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.showZoomField);
await expect(showZoomField).toBeVisible();
const zoomCheckbox = showZoomField.locator('input[type="checkbox"]');
await zoomCheckbox.check({ force: true });
await expect(zoomCheckbox).toBeChecked();
// Show attribution
const showAttributionField = dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.showAttributionField
);
await expect(showAttributionField).toBeVisible();
const attributionCheckbox = showAttributionField.locator('input[type="checkbox"]');
await attributionCheckbox.check({ force: true });
await expect(attributionCheckbox).toBeChecked();
// Show scale
const showScaleField = dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.showScaleField);
await expect(showScaleField).toBeVisible();
const scaleCheckbox = showScaleField.locator('input[type="checkbox"]');
await scaleCheckbox.check({ force: true });
await expect(scaleCheckbox).toBeChecked();
// Show measure tool
const showMeasureField = dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.showMeasureField);
await expect(showMeasureField).toBeVisible();
const measureCheckbox = showMeasureField.locator('input[type="checkbox"]');
await measureCheckbox.check({ force: true });
await expect(measureCheckbox).toBeChecked();
// Show debug
const showDebugField = dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.showDebugField);
await expect(showDebugField).toBeVisible();
const debugCheckbox = showDebugField.locator('input[type="checkbox"]');
await debugCheckbox.check({ force: true });
await expect(debugCheckbox).toBeChecked();
const panelContent = dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.content);
await expect(panelContent).toBeVisible();
// Verify zoom
await expect(panelContent.locator('.ol-zoom')).toBeVisible();
// Verify attribution
await expect(panelContent.locator('.ol-attribution')).toBeVisible();
// Verify scale
await expect(panelContent.locator('.ol-scale-line')).toBeVisible();
// Verify measure tool
await expect(dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.measureButton)).toBeVisible();
// Verify debug tool
await expect(dashboardPage.getByGrafanaSelector(selectors.components.DebugOverlay.wrapper)).toBeVisible();
});
}
);