From b8226793b88043b2843c494af99d880a8360d0a6 Mon Sep 17 00:00:00 2001 From: Nathan Weinberg Date: Tue, 8 Jan 2019 10:16:04 -0600 Subject: [PATCH] mgr/dashboard: Added breadcrumb and tab tests to Pools menu Fixes: https://tracker.ceph.com/issues/37667 Signed-off-by: Nathan Weinberg --- .../mgr/dashboard/frontend/e2e/helper.po.ts | 12 ++++++- .../frontend/e2e/pools/pools.e2e-spec.ts | 34 +++++++++++++++++++ .../dashboard/frontend/e2e/pools/pools.po.ts | 7 ++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts create mode 100644 src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts diff --git a/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts index 9241f66d9fdff..7ff26b315b940 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts @@ -1,4 +1,4 @@ -import { $, browser } from 'protractor'; +import { $, $$, browser } from 'protractor'; export class Helper { static EC = browser.ExpectedConditions; @@ -31,4 +31,14 @@ export class Helper { static getBreadcrumbText() { return $('.breadcrumb-item.active').getText(); } + + static getTabText(idx) { + return $$('.nav.nav-tabs li') + .get(idx) + .getText(); + } + + static getTabsCount() { + return $$('.nav.nav-tabs li').count(); + } } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts new file mode 100644 index 0000000000000..3b826eb858300 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts @@ -0,0 +1,34 @@ +import { Helper } from '../helper.po'; +import { PoolsPage } from './pools.po'; + +describe('Pools page', () => { + let page: PoolsPage; + + beforeAll(() => { + page = new PoolsPage(); + }); + + afterEach(() => { + Helper.checkConsole(); + }); + + it('should open and show breadcrumb', () => { + page.navigateTo(); + expect(Helper.getBreadcrumbText()).toEqual('Pools'); + }); + + it('should show two tabs', () => { + page.navigateTo(); + expect(Helper.getTabsCount()).toEqual(2); + }); + + it('should show pools list tab at first', () => { + page.navigateTo(); + expect(Helper.getTabText(0)).toEqual('Pools List'); + }); + + it('should show overall performance as a second tab', () => { + page.navigateTo(); + expect(Helper.getTabText(1)).toEqual('Overall Performance'); + }); +}); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts new file mode 100644 index 0000000000000..3682c671ea8d3 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts @@ -0,0 +1,7 @@ +import { browser } from 'protractor'; + +export class PoolsPage { + navigateTo() { + return browser.get('/#/pool'); + } +} -- 2.39.5