From 8617ad688ddef18e7a08bc1ecc7379381fbe372a Mon Sep 17 00:00:00 2001 From: Marcus Andersson Date: Thu, 16 Mar 2023 09:57:53 +0100 Subject: [PATCH] Plugins: Added e2e flow for triggering panel menu UI extensions (#64855) Added e2e flow for clicking a panel menu extension item. --- .../00-panel-menu-extension.spec.ts | 17 +++++++++++++++++ .../grafana-e2e/src/flows/openPanelMenuItem.ts | 13 +++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 e2e/e2e-flow-suite/00-panel-menu-extension.spec.ts diff --git a/e2e/e2e-flow-suite/00-panel-menu-extension.spec.ts b/e2e/e2e-flow-suite/00-panel-menu-extension.spec.ts new file mode 100644 index 00000000000..426e16b2616 --- /dev/null +++ b/e2e/e2e-flow-suite/00-panel-menu-extension.spec.ts @@ -0,0 +1,17 @@ +import { e2e } from '@grafana/e2e'; + +e2e.scenario({ + describeName: 'Panel menu ui extension flow', + itName: 'Should be possible to click extension menu item', + addScenarioDataSource: false, + addScenarioDashBoard: false, + skipScenario: false, + scenario: () => { + const panelTitle = 'Random walk series'; + const extensionTitle = 'Copy'; + + e2e.flows.openDashboard({ uid: '5SdHCasdf' }); + e2e.flows.openPanelMenuExtension(extensionTitle, panelTitle); + e2e.flows.assertSuccessNotification(); + }, +}); diff --git a/packages/grafana-e2e/src/flows/openPanelMenuItem.ts b/packages/grafana-e2e/src/flows/openPanelMenuItem.ts index 5d767ea1b73..8daa6505711 100644 --- a/packages/grafana-e2e/src/flows/openPanelMenuItem.ts +++ b/packages/grafana-e2e/src/flows/openPanelMenuItem.ts @@ -3,6 +3,7 @@ import { e2e } from '../index'; export enum PanelMenuItems { Edit = 'Edit', Inspect = 'Inspect', + More = 'More...', } export const openPanelMenuItem = (menu: PanelMenuItems, panelTitle = 'Panel Title') => { @@ -10,3 +11,15 @@ export const openPanelMenuItem = (menu: PanelMenuItems, panelTitle = 'Panel Titl e2e.components.Panels.Panel.headerItems(menu).should('be.visible').click(); }; + +export const openPanelMenuExtension = (extensionTitle: string, panelTitle = 'Panel Title') => { + e2e.components.Panels.Panel.title(panelTitle).should('be.visible').click(); + + e2e.components.Panels.Panel.headerItems(PanelMenuItems.More) + .should('be.visible') + .parent() + .parent() + .invoke('addClass', 'open'); + + e2e.components.Panels.Panel.headerItems(extensionTitle).should('be.visible').click(); +};