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-layer-types.spec.ts

137 lines
5.6 KiB

import { test, expect } from '@grafana/plugin-e2e';
const DASHBOARD_ID = 'P2jR04WVk';
const MAP_LAYERS_TYPE = 'Map layers Layer type';
const MAP_LAYERS_DATA = 'Map layers Data';
const MAP_LAYERS_GEOJSON = 'Map layers GeoJSON URL';
test.describe(
'Panels test: Geomap layer types',
{
tag: ['@panels'],
},
() => {
test('Tests changing the layer type', async ({ gotoDashboardPage, selectors, page }) => {
const dashboardPage = await gotoDashboardPage({
uid: DASHBOARD_ID,
queryParams: new URLSearchParams({ editPanel: '1' }),
});
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toBeVisible();
const field = dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_TYPE)
);
await expect(field).toBeVisible();
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('markers');
// Heatmap
const input = field.locator('input');
await input.fill('Heatmap');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('heatmap');
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_DATA))
).toBeVisible();
// GeoJSON
await input.fill('GeoJSON');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('geojson');
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_DATA))
).toBeHidden();
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_GEOJSON))
).toBeVisible();
// Open Street Map
await input.fill('Open Street Map');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('osm-standard');
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_DATA))
).toBeHidden();
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_GEOJSON))
).toBeHidden();
// CARTO basemap
await input.fill('CARTO basemap');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('carto');
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Show labels')
)
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Theme'))
).toBeVisible();
// ArcGIS MapServer
await input.fill('ArcGIS MapServer');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('esri-xyz');
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Server instance')
)
).toBeVisible();
// XYZ Tile layer
await input.fill('XYZ Tile layer');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('xyz');
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers URL template')
)
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Attribution')
)
).toBeVisible();
// Night / Day (Alpha)
await input.fill('Night / Day');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('dayNight');
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_DATA))
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Show'))
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Night region color')
)
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Display sun')
)
).toBeVisible();
await expect(dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.General.content)).toBeVisible();
// Route (Alpha)
await input.fill('Route');
await input.press('Enter');
await expect(page.locator('[data-testid="layer-drag-drop-list"]')).toContainText('route');
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel(MAP_LAYERS_DATA))
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(
selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Location Mode')
)
).toBeVisible();
await expect(
dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.fieldLabel('Map layers Style'))
).toBeVisible();
await expect(dashboardPage.getByGrafanaSelector(selectors.components.PanelEditor.General.content)).toBeVisible();
});
}
);