From 9bb0290a148f59d9cd940476f71982a90d85e526 Mon Sep 17 00:00:00 2001 From: Rashmi Kulkarni Date: Tue, 31 Mar 2020 12:19:15 -0700 Subject: [PATCH 1/2] accessibility tests for dashboard panel --- test/accessibility/apps/dashboard.ts | 6 -- test/accessibility/apps/dashboard_panel.ts | 79 ++++++++++++++++++++++ test/accessibility/config.ts | 1 + 3 files changed, 80 insertions(+), 6 deletions(-) create mode 100644 test/accessibility/apps/dashboard_panel.ts diff --git a/test/accessibility/apps/dashboard.ts b/test/accessibility/apps/dashboard.ts index 8033dbb7ad210..83bde9aa99a73 100644 --- a/test/accessibility/apps/dashboard.ts +++ b/test/accessibility/apps/dashboard.ts @@ -162,11 +162,5 @@ export default function({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.clickConfirmOnModal(); await listingTable.searchForItemWithName(''); }); - - // Blocked by https://github.com/elastic/kibana/issues/38980 - it.skip('Open flight dashboard', async () => { - await testSubjects.click('dashboardListingTitleLink-[Flights]-Global-Flight-Dashboard'); - await a11y.testAppSnapshot(); - }); }); } diff --git a/test/accessibility/apps/dashboard_panel.ts b/test/accessibility/apps/dashboard_panel.ts new file mode 100644 index 0000000000000..04821a50df618 --- /dev/null +++ b/test/accessibility/apps/dashboard_panel.ts @@ -0,0 +1,79 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import { FtrProviderContext } from '../ftr_provider_context'; + +export default function({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home', 'settings']); + const a11y = getService('a11y'); + const dashboardPanelActions = getService('dashboardPanelActions'); + const testSubjects = getService('testSubjects'); + const inspector = getService('inspector'); + + describe('Dashboard Panel', () => { + before(async () => { + await PageObjects.common.navigateToUrl('home', 'tutorial_directory/sampleData'); + await PageObjects.home.addSampleDataSet('flights'); + await PageObjects.common.navigateToApp('dashboard'); + await testSubjects.click('dashboardListingTitleLink-[Flights]-Global-Flight-Dashboard'); + }); + + it('dashboard panel open ', async () => { + const header = await dashboardPanelActions.getPanelHeading('[Flights] Airline Carrier'); + await dashboardPanelActions.toggleContextMenu(header); + await a11y.testAppSnapshot(); + // doing this again will close the Context Menu, so that next snapshot can start clean. + await dashboardPanelActions.toggleContextMenu(header); + }); + + it('dashboard panel inspect', async () => { + await dashboardPanelActions.openInspectorByTitle('[Flights] Airline Carrier'); + await a11y.testAppSnapshot(); + }); + + it('dashboard panel inspector view chooser ', async () => { + await testSubjects.click('inspectorViewChooser'); + await a11y.testAppSnapshot(); + await testSubjects.click('inspectorViewChooser'); + }); + + it('dashboard panel inspector request statistics ', async () => { + await inspector.openInspectorRequestsView(); + await a11y.testAppSnapshot(); + }); + + it('dashboard panel inspector request', async () => { + await testSubjects.click('inspectorRequestDetailRequest'); + await a11y.testAppSnapshot(); + }); + + it('dashboard panel inspector response', async () => { + await testSubjects.click('inspectorRequestDetailResponse'); + await a11y.testAppSnapshot(); + await inspector.close(); + }); + + it('dashboard panel full screen', async () => { + const header = await dashboardPanelActions.getPanelHeading('[Flights] Airline Carrier'); + await dashboardPanelActions.toggleContextMenu(header); + await testSubjects.click('embeddablePanelAction-togglePanel'); + await a11y.testAppSnapshot(); + }); + }); +} diff --git a/test/accessibility/config.ts b/test/accessibility/config.ts index dd8c59c1be835..bf71fd81aa199 100644 --- a/test/accessibility/config.ts +++ b/test/accessibility/config.ts @@ -30,6 +30,7 @@ export default async function({ readConfigFile }: FtrConfigProviderContext) { testFiles: [ require.resolve('./apps/discover'), require.resolve('./apps/dashboard'), + require.resolve('./apps/dashboard_panel'), require.resolve('./apps/visualize'), require.resolve('./apps/management'), require.resolve('./apps/console'), From bad3da9ac89db29947da7fb4dbfa7b7f135882eb Mon Sep 17 00:00:00 2001 From: Rashmi Kulkarni Date: Tue, 31 Mar 2020 14:55:46 -0700 Subject: [PATCH 2/2] added back the skipped test as it is still required to pass through th ea11ySnapshot --- test/accessibility/apps/dashboard.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/accessibility/apps/dashboard.ts b/test/accessibility/apps/dashboard.ts index 83bde9aa99a73..8033dbb7ad210 100644 --- a/test/accessibility/apps/dashboard.ts +++ b/test/accessibility/apps/dashboard.ts @@ -162,5 +162,11 @@ export default function({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.clickConfirmOnModal(); await listingTable.searchForItemWithName(''); }); + + // Blocked by https://github.com/elastic/kibana/issues/38980 + it.skip('Open flight dashboard', async () => { + await testSubjects.click('dashboardListingTitleLink-[Flights]-Global-Flight-Dashboard'); + await a11y.testAppSnapshot(); + }); }); }