mirror of
https://github.com/grafana/grafana.git
synced 2026-02-18 18:20:52 -05:00
E2E: Use updated plugin-e2e setVisualization method (#116558)
This commit is contained in:
parent
5bc4061131
commit
d2de4f95dc
8 changed files with 25 additions and 59 deletions
|
|
@ -2,8 +2,6 @@ import { Locator } from '@playwright/test';
|
|||
|
||||
import { test, expect } from '@grafana/plugin-e2e';
|
||||
|
||||
import { setVisualization } from '../utils/panel-helpers';
|
||||
|
||||
test.use({
|
||||
featureToggles: {
|
||||
canvasPanelPanZoom: true,
|
||||
|
|
@ -13,7 +11,7 @@ test.describe('Canvas Panel - Scene Tests', () => {
|
|||
test.beforeEach(async ({ page, gotoDashboardPage }) => {
|
||||
const dashboardPage = await gotoDashboardPage({});
|
||||
const panelEditPage = await dashboardPage.addPanel();
|
||||
await setVisualization(panelEditPage, 'Canvas');
|
||||
await panelEditPage.setVisualization('Canvas');
|
||||
|
||||
// Wait for canvas panel to load
|
||||
await page.waitForSelector('[data-testid="canvas-scene-pan-zoom"]', { timeout: 10000 });
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import { expect, test } from '@grafana/plugin-e2e';
|
||||
|
||||
import { setVisualization } from '../../../utils/panel-helpers';
|
||||
import { formatExpectError } from '../errors';
|
||||
import { successfulDataQuery } from '../mocks/queries';
|
||||
|
||||
|
|
@ -28,7 +27,7 @@ test.describe(
|
|||
test('table panel data assertions', async ({ panelEditPage }) => {
|
||||
await panelEditPage.mockQueryDataResponse(successfulDataQuery, 200);
|
||||
await panelEditPage.datasource.set('gdev-testdata');
|
||||
await setVisualization(panelEditPage, 'Table');
|
||||
await panelEditPage.setVisualization('Table');
|
||||
await panelEditPage.refreshPanel();
|
||||
await expect(
|
||||
panelEditPage.panel.locator,
|
||||
|
|
@ -47,7 +46,7 @@ test.describe(
|
|||
test('timeseries panel - table view assertions', async ({ panelEditPage }) => {
|
||||
await panelEditPage.mockQueryDataResponse(successfulDataQuery, 200);
|
||||
await panelEditPage.datasource.set('gdev-testdata');
|
||||
await setVisualization(panelEditPage, 'Time series');
|
||||
await panelEditPage.setVisualization('Time series');
|
||||
await panelEditPage.refreshPanel();
|
||||
await panelEditPage.toggleTableView();
|
||||
await expect(
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import { expect, test } from '@grafana/plugin-e2e';
|
||||
|
||||
import { setVisualization } from '../../../utils/panel-helpers';
|
||||
import { formatExpectError } from '../errors';
|
||||
import { successfulDataQuery } from '../mocks/queries';
|
||||
import { scenarios } from '../mocks/resources';
|
||||
|
|
@ -57,7 +56,7 @@ test.describe(
|
|||
test('mocked query data response', async ({ panelEditPage, page }) => {
|
||||
await panelEditPage.mockQueryDataResponse(successfulDataQuery, 200);
|
||||
await panelEditPage.datasource.set('gdev-testdata');
|
||||
await setVisualization(panelEditPage, TABLE_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TABLE_VIZ_NAME);
|
||||
await panelEditPage.refreshPanel();
|
||||
await expect(
|
||||
panelEditPage.panel.getErrorIcon(),
|
||||
|
|
@ -76,7 +75,7 @@ test.describe(
|
|||
selectors,
|
||||
page,
|
||||
}) => {
|
||||
await setVisualization(panelEditPage, TABLE_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TABLE_VIZ_NAME);
|
||||
await expect(
|
||||
panelEditPage.getByGrafanaSelector(selectors.components.PanelEditor.OptionsPane.header),
|
||||
formatExpectError('Expected panel visualization to be set to table')
|
||||
|
|
@ -94,7 +93,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('Select time zone in timezone picker', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = await panelEditPage.getCustomOptions('Axis');
|
||||
const timeZonePicker = axisOptions.getSelect('Time zone');
|
||||
|
||||
|
|
@ -103,7 +102,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('select unit in unit picker', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const standardOptions = panelEditPage.getStandardOptions();
|
||||
const unitPicker = standardOptions.getUnitPicker('Unit');
|
||||
|
||||
|
|
@ -113,7 +112,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('enter value in number input', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = panelEditPage.getCustomOptions('Axis');
|
||||
const lineWith = axisOptions.getNumberInput('Soft min');
|
||||
|
||||
|
|
@ -123,7 +122,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('enter value in slider', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const graphOptions = panelEditPage.getCustomOptions('Graph styles');
|
||||
const lineWidth = graphOptions.getSliderInput('Line width');
|
||||
|
||||
|
|
@ -133,7 +132,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('select value in single value select', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const standardOptions = panelEditPage.getStandardOptions();
|
||||
const colorSchemeSelect = standardOptions.getSelect('Color scheme');
|
||||
|
||||
|
|
@ -142,7 +141,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('clear input', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const panelOptions = panelEditPage.getPanelOptions();
|
||||
const title = panelOptions.getTextInput('Title');
|
||||
|
||||
|
|
@ -152,7 +151,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('enter value in input', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const panelOptions = panelEditPage.getPanelOptions();
|
||||
const description = panelOptions.getTextInput('Description');
|
||||
|
||||
|
|
@ -162,7 +161,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('unchecking switch', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = panelEditPage.getCustomOptions('Axis');
|
||||
const showBorder = axisOptions.getSwitch('Show border');
|
||||
|
||||
|
|
@ -175,7 +174,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('checking switch', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = panelEditPage.getCustomOptions('Axis');
|
||||
const showBorder = axisOptions.getSwitch('Show border');
|
||||
|
||||
|
|
@ -185,7 +184,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('re-selecting value in radio button group', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = panelEditPage.getCustomOptions('Axis');
|
||||
const placement = axisOptions.getRadioGroup('Placement');
|
||||
|
||||
|
|
@ -197,7 +196,7 @@ test.describe(
|
|||
});
|
||||
|
||||
test('selecting value in radio button group', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, TIME_SERIES_VIZ_NAME);
|
||||
await panelEditPage.setVisualization(TIME_SERIES_VIZ_NAME);
|
||||
const axisOptions = panelEditPage.getCustomOptions('Axis');
|
||||
const placement = axisOptions.getRadioGroup('Placement');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
import { FRENCH_FRANCE } from '@grafana/i18n';
|
||||
import { expect, test } from '@grafana/plugin-e2e';
|
||||
|
||||
import { setVisualization } from '../../../../utils/panel-helpers';
|
||||
|
||||
test.use({ userPreferences: { language: FRENCH_FRANCE } });
|
||||
|
||||
test('should display default translation (en-US)', async ({ panelEditPage }) => {
|
||||
setVisualization(panelEditPage, 'Grafana E2ETest Panel');
|
||||
panelEditPage.setVisualization('Grafana E2ETest Panel');
|
||||
|
||||
await expect(panelEditPage.panel.locator.getByText('Text option value:')).toBeVisible();
|
||||
const options = panelEditPage.getCustomOptions('Grafana E2ETest Panel');
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
import { SWEDISH_SWEDEN } from '@grafana/i18n';
|
||||
import { expect, test } from '@grafana/plugin-e2e';
|
||||
|
||||
import { setVisualization } from '../../../../utils/panel-helpers';
|
||||
|
||||
test.use({ userPreferences: { language: SWEDISH_SWEDEN } });
|
||||
|
||||
test('should display correct translation', async ({ panelEditPage }) => {
|
||||
await setVisualization(panelEditPage, 'Grafana E2ETest Panel');
|
||||
await panelEditPage.setVisualization('Grafana E2ETest Panel');
|
||||
|
||||
await expect(panelEditPage.panel.locator.getByText('Textalternativ värde:')).toBeVisible();
|
||||
const options = panelEditPage.getCustomOptions('Grafana E2ETest Panel');
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
import { expect } from '@playwright/test';
|
||||
|
||||
import { PanelEditPage } from '@grafana/plugin-e2e';
|
||||
|
||||
export async function setVisualization(page: PanelEditPage, visualization: string) {
|
||||
const showPanelEditElement = page.getByGrafanaSelector('Show options pane');
|
||||
const showPanelEditElementCount = await showPanelEditElement.count();
|
||||
if (showPanelEditElementCount > 0) {
|
||||
await showPanelEditElement.click();
|
||||
}
|
||||
|
||||
// with suggestions changes, the vizpicker may be open by default, which would mean we
|
||||
// want to skip this click.
|
||||
const vizPicker = page.getByGrafanaSelector(page.ctx.selectors.components.PanelEditor.toggleVizPicker);
|
||||
if ((await vizPicker.filter({ hasText: 'Back' }).count()) === 0) {
|
||||
await vizPicker.click();
|
||||
}
|
||||
|
||||
await page.getByGrafanaSelector(page.ctx.selectors.components.Tab.title('All visualizations')).click();
|
||||
await page.getByGrafanaSelector(page.ctx.selectors.components.PluginVisualization.item(visualization)).click();
|
||||
|
||||
await expect(
|
||||
page.getByGrafanaSelector(page.ctx.selectors.components.PanelEditor.OptionsPane.header),
|
||||
`Could not set visualization to ${visualization}. Ensure the panel is installed.`
|
||||
).toHaveText(visualization);
|
||||
}
|
||||
|
|
@ -91,7 +91,7 @@
|
|||
"@emotion/eslint-plugin": "11.12.0",
|
||||
"@grafana/eslint-config": "8.2.0",
|
||||
"@grafana/eslint-plugin": "link:./packages/grafana-eslint-rules",
|
||||
"@grafana/plugin-e2e": "^3.1.0",
|
||||
"@grafana/plugin-e2e": "^3.1.3",
|
||||
"@grafana/test-utils": "workspace:*",
|
||||
"@manypkg/get-packages": "^3.0.0",
|
||||
"@npmcli/package-json": "^6.0.0",
|
||||
|
|
|
|||
12
yarn.lock
12
yarn.lock
|
|
@ -3679,17 +3679,17 @@ __metadata:
|
|||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@grafana/plugin-e2e@npm:^3.1.0":
|
||||
version: 3.1.0
|
||||
resolution: "@grafana/plugin-e2e@npm:3.1.0"
|
||||
"@grafana/plugin-e2e@npm:^3.1.3":
|
||||
version: 3.1.3
|
||||
resolution: "@grafana/plugin-e2e@npm:3.1.3"
|
||||
dependencies:
|
||||
"@grafana/e2e-selectors": "npm:12.4.0-20165274911"
|
||||
"@grafana/e2e-selectors": "npm:12.4.0-20331417332"
|
||||
semver: "npm:^7.5.4"
|
||||
uuid: "npm:^13.0.0"
|
||||
yaml: "npm:^2.3.4"
|
||||
peerDependencies:
|
||||
"@playwright/test": ^1.52.0
|
||||
checksum: 10/a4003a1c594e8ecd771a8ab7af77357cfe2d942dee821d922e317da2eb7962f86c19bddcc4bdf4d0c793b3ebfec409095b25022b0e3664d66b93163e61cc3fb5
|
||||
checksum: 10/16276e45eede97bdabe1d116c6007957a96fd7424070ec4cc22a9a28cfe43e549499367c027f60d438df93437b6eb909206a444c156b7c52095542499b343b1f
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
|
@ -19933,7 +19933,7 @@ __metadata:
|
|||
"@grafana/llm": "npm:1.0.1"
|
||||
"@grafana/monaco-logql": "npm:^0.0.8"
|
||||
"@grafana/o11y-ds-frontend": "workspace:*"
|
||||
"@grafana/plugin-e2e": "npm:^3.1.0"
|
||||
"@grafana/plugin-e2e": "npm:^3.1.3"
|
||||
"@grafana/plugin-ui": "npm:^0.11.1"
|
||||
"@grafana/prometheus": "workspace:*"
|
||||
"@grafana/runtime": "workspace:*"
|
||||
|
|
|
|||
Loading…
Reference in a new issue