mirror of https://github.com/grafana/grafana.git
57 lines
2.2 KiB
TypeScript
57 lines
2.2 KiB
TypeScript
|
import { test, expect } from '@grafana/plugin-e2e';
|
||
|
|
||
|
import testV2Dashboard from '../dashboards/TestV2Dashboard.json';
|
||
|
|
||
|
import { flows } from './utils';
|
||
|
|
||
|
test.use({
|
||
|
featureToggles: {
|
||
|
kubernetesDashboards: true,
|
||
|
dashboardNewLayouts: true,
|
||
|
groupByVariable: true,
|
||
|
},
|
||
|
});
|
||
|
|
||
|
test.describe(
|
||
|
'Dashboard panels',
|
||
|
{
|
||
|
tag: ['@dashboards'],
|
||
|
},
|
||
|
() => {
|
||
|
test('can duplicate a panel', async ({ dashboardPage, selectors, page }) => {
|
||
|
await page.goto(selectors.pages.ImportDashboard.url);
|
||
|
await page.getByTestId(selectors.components.DashboardImportPage.textarea).fill(JSON.stringify(testV2Dashboard));
|
||
|
await page.getByTestId(selectors.components.DashboardImportPage.submit).click();
|
||
|
await page.getByTestId(selectors.components.ImportDashboardForm.name).fill('Paste tab');
|
||
|
await page.getByTestId(selectors.components.ImportDashboardForm.submit).click();
|
||
|
|
||
|
await dashboardPage.getByGrafanaSelector(selectors.components.NavToolbar.editDashboard.editButton).click();
|
||
|
const oldPanelTitle = 'New panel';
|
||
|
const panelTitle = 'Unique';
|
||
|
await flows.changePanelTitle(dashboardPage, selectors, oldPanelTitle, panelTitle);
|
||
|
|
||
|
await expect(
|
||
|
dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.title(panelTitle))
|
||
|
).toBeVisible();
|
||
|
|
||
|
await dashboardPage
|
||
|
.getByGrafanaSelector(selectors.components.Panels.Panel.menu(panelTitle))
|
||
|
.click({ force: true });
|
||
|
await dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.menuItems('More...')).hover();
|
||
|
await dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.menuItems('Duplicate')).click();
|
||
|
|
||
|
await expect(dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.title(panelTitle))).toHaveCount(
|
||
|
2
|
||
|
);
|
||
|
|
||
|
// Save, reload, and ensure duplicate has persisted
|
||
|
await dashboardPage.getByGrafanaSelector(selectors.components.NavToolbar.editDashboard.saveButton).click();
|
||
|
await dashboardPage.getByGrafanaSelector(selectors.components.Drawer.DashboardSaveDrawer.saveButton).click();
|
||
|
await page.reload();
|
||
|
await expect(dashboardPage.getByGrafanaSelector(selectors.components.Panels.Panel.title(panelTitle))).toHaveCount(
|
||
|
2
|
||
|
);
|
||
|
});
|
||
|
}
|
||
|
);
|