mirror of
https://github.com/grafana/grafana.git
synced 2025-09-19 06:25:04 +08:00

* add equivalent dashboard-time-zone test * remove cypress dashboards-suite * modify tests to work with schema-v2 + update workflow to run playwright instead * fix package.json * update CODEOWNERS * fix start-server to include ARCH
73 lines
2.7 KiB
TypeScript
73 lines
2.7 KiB
TypeScript
import { test, expect } from '@grafana/plugin-e2e';
|
|
|
|
test.use({
|
|
featureToggles: {
|
|
kubernetesDashboards: process.env.KUBERNETES_DASHBOARDS === 'true',
|
|
},
|
|
});
|
|
|
|
test.describe(
|
|
'Export as JSON',
|
|
{
|
|
tag: ['@dashboards'],
|
|
},
|
|
() => {
|
|
test('Export for internal and external use', async ({ gotoDashboardPage, page, selectors }) => {
|
|
const dashboardPage = await gotoDashboardPage({
|
|
uid: 'ZqZnVvFZz',
|
|
});
|
|
|
|
// Open the export drawer
|
|
await dashboardPage.getByGrafanaSelector(selectors.pages.Dashboard.DashNav.NewExportButton.arrowMenu).click();
|
|
await dashboardPage
|
|
.getByGrafanaSelector(selectors.pages.Dashboard.DashNav.NewExportButton.Menu.exportAsJson)
|
|
.click();
|
|
|
|
await expect(page).toHaveURL(/.*shareView=export.*/);
|
|
|
|
// Export as JSON
|
|
await expect(
|
|
dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.container)
|
|
).toBeVisible();
|
|
await expect(
|
|
dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.exportExternallyToggle)
|
|
).toBeChecked({
|
|
checked: false,
|
|
});
|
|
await expect(dashboardPage.getByGrafanaSelector(selectors.components.CodeEditor.container)).toBeVisible();
|
|
|
|
await expect(
|
|
dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.saveToFileButton)
|
|
).toBeVisible();
|
|
await expect(
|
|
dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.copyToClipboardButton)
|
|
).toBeVisible();
|
|
await expect(
|
|
dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.cancelButton)
|
|
).toBeVisible();
|
|
|
|
await dashboardPage
|
|
.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.copyToClipboardButton)
|
|
.click();
|
|
// TODO failing in CI - fix it
|
|
// let clipboardContent = await page.evaluate(() => navigator.clipboard.readText());
|
|
// expect(clipboardContent).not.toContain('__inputs');
|
|
|
|
await dashboardPage
|
|
.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.exportExternallyToggle)
|
|
.click({ force: true });
|
|
|
|
await dashboardPage
|
|
.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.copyToClipboardButton)
|
|
.click();
|
|
// TODO failing in CI - fix it
|
|
// clipboardContent = await page.evaluate(() => navigator.clipboard.readText());
|
|
// expect(clipboardContent).toContain('__inputs');
|
|
|
|
await dashboardPage.getByGrafanaSelector(selectors.pages.ExportDashboardDrawer.ExportAsJson.cancelButton).click();
|
|
|
|
await expect(page).not.toHaveURL(/.*shareView=export.*/);
|
|
});
|
|
}
|
|
);
|