From f9a40eb3db83177e70c8920d58e45d52c9129be8 Mon Sep 17 00:00:00 2001 From: Adam King Date: Tue, 16 Jul 2019 11:29:37 -0400 Subject: [PATCH] mgr/dashboard: Update formatting for dashboard e2e test files Fixes: https://tracker.ceph.com/issues/40789 Signed-off-by: Adam King Signed-off-by: Rafael Quintero --- .../frontend/e2e/block/images.e2e-spec.ts | 17 +++-- .../dashboard/frontend/e2e/block/images.po.ts | 2 +- .../frontend/e2e/block/iscsi.e2e-spec.ts | 9 ++- .../dashboard/frontend/e2e/block/iscsi.po.ts | 2 +- .../frontend/e2e/block/mirroring.e2e-spec.ts | 17 +++-- .../frontend/e2e/block/mirroring.po.ts | 2 +- .../frontend/e2e/cluster/alerts.e2e-spec.ts | 9 ++- .../frontend/e2e/cluster/alerts.po.ts | 2 +- .../e2e/cluster/configuration.e2e-spec.ts | 9 ++- .../frontend/e2e/cluster/configuration.po.ts | 2 +- .../e2e/cluster/crush-map.e2e-spec.ts | 9 ++- .../frontend/e2e/cluster/crush-map.po.ts | 2 +- .../frontend/e2e/cluster/hosts.e2e-spec.ts | 15 ++-- .../frontend/e2e/cluster/hosts.po.ts | 2 +- .../frontend/e2e/cluster/logs.e2e-spec.ts | 15 ++-- .../dashboard/frontend/e2e/cluster/logs.po.ts | 2 +- .../e2e/cluster/mgr-modules.e2e-spec.ts | 9 ++- .../frontend/e2e/cluster/mgr-modules.po.ts | 2 +- .../frontend/e2e/cluster/monitors.e2e-spec.ts | 9 ++- .../frontend/e2e/cluster/monitors.po.ts | 2 +- .../frontend/e2e/cluster/osds.e2e-spec.ts | 15 ++-- .../dashboard/frontend/e2e/cluster/osds.po.ts | 2 +- .../e2e/filesystems/filesystems.e2e-spec.ts | 9 ++- .../e2e/filesystems/filesystems.po.ts | 2 +- .../mgr/dashboard/frontend/e2e/helper.po.ts | 47 ++++++++++++- .../frontend/e2e/nfs/nfs.e2e-spec.ts | 9 ++- .../mgr/dashboard/frontend/e2e/nfs/nfs.po.ts | 2 +- .../dashboard/frontend/e2e/page-helper.po.ts | 68 +++++++++---------- .../frontend/e2e/pools/pools.e2e-spec.ts | 35 +++++----- .../dashboard/frontend/e2e/pools/pools.po.ts | 6 +- .../frontend/e2e/rgw/buckets.e2e-spec.ts | 12 ++-- .../dashboard/frontend/e2e/rgw/buckets.po.ts | 46 ++++++------- .../frontend/e2e/rgw/daemons.e2e-spec.ts | 15 ++-- .../dashboard/frontend/e2e/rgw/daemons.po.ts | 2 +- .../frontend/e2e/rgw/users.e2e-spec.ts | 9 ++- .../dashboard/frontend/e2e/rgw/users.po.ts | 2 +- 36 files changed, 222 insertions(+), 197 deletions(-) diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/images.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/images.e2e-spec.ts index 8eb434120c4..8af22236410 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/images.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/images.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { ImagesPage } from './images.po'; describe('Images page', () => { - let page: ImagesPage; + let images; beforeAll(() => { - page = new ImagesPage(); + images = new Helper().images; }); afterEach(() => { @@ -14,21 +13,21 @@ describe('Images page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + images.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(ImagesPage.getBreadcrumbText()).toEqual('Images'); + expect(images.getBreadcrumbText()).toEqual('Images'); }); it('should show three tabs', () => { - expect(ImagesPage.getTabsCount()).toEqual(3); + expect(images.getTabsCount()).toEqual(3); }); it('should show text for all tabs', () => { - expect(ImagesPage.getTabText(0)).toEqual('Images'); - expect(ImagesPage.getTabText(1)).toEqual('Trash'); - expect(ImagesPage.getTabText(2)).toEqual('Overall Performance'); + expect(images.getTabText(0)).toEqual('Images'); + expect(images.getTabText(1)).toEqual('Trash'); + expect(images.getTabText(2)).toEqual('Overall Performance'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/images.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/images.po.ts index 6f9fb5aff9a..ad659ed33ac 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/images.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/images.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class ImagesPage extends PageHelper { +export class ImagesPageHelper extends PageHelper { pages = { index: '/#/block/rbd' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.e2e-spec.ts index 194f87efb42..f088eeac63d 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { IscsiPage } from './iscsi.po'; describe('Iscsi Page', () => { - let page: IscsiPage; + let iscsi; beforeAll(() => { - page = new IscsiPage(); + iscsi = new Helper().iscsi; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Iscsi Page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + iscsi.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(IscsiPage.getBreadcrumbText()).toEqual('Overview'); + expect(iscsi.getBreadcrumbText()).toEqual('Overview'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.po.ts index 9cba79b21eb..e2621f0451a 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class IscsiPage extends PageHelper { +export class IscsiPageHelper extends PageHelper { pages = { index: '/#/block/iscsi/overview' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts index 536b0881f3b..60dd992bc53 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { MirroringPage } from './mirroring.po'; describe('Mirroring page', () => { - let page: MirroringPage; + let mirroring; beforeAll(() => { - page = new MirroringPage(); + mirroring = new Helper().mirroring; }); afterEach(() => { @@ -14,21 +13,21 @@ describe('Mirroring page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + mirroring.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(MirroringPage.getBreadcrumbText()).toEqual('Mirroring'); + expect(mirroring.getBreadcrumbText()).toEqual('Mirroring'); }); it('should show three tabs', () => { - expect(MirroringPage.getTabsCount()).toEqual(3); + expect(mirroring.getTabsCount()).toEqual(3); }); it('should show text for all tabs', () => { - expect(MirroringPage.getTabText(0)).toEqual('Issues'); - expect(MirroringPage.getTabText(1)).toEqual('Syncing'); - expect(MirroringPage.getTabText(2)).toEqual('Ready'); + expect(mirroring.getTabText(0)).toEqual('Issues'); + expect(mirroring.getTabText(1)).toEqual('Syncing'); + expect(mirroring.getTabText(2)).toEqual('Ready'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.po.ts index 875a51b1fc8..f1d562ca4c4 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class MirroringPage extends PageHelper { +export class MirroringPageHelper extends PageHelper { pages = { index: '/#/block/mirroring' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts index bf139cb8556..038453a06be 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { AlertsPage } from './alerts.po'; describe('Alerts page', () => { - let page: AlertsPage; + let alerts; beforeAll(() => { - page = new AlertsPage(); + alerts = new Helper().alerts; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Alerts page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + alerts.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(AlertsPage.getBreadcrumbText()).toEqual('Alerts'); + expect(alerts.getBreadcrumbText()).toEqual('Alerts'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts index 02cf70a429a..8a50662b26d 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class AlertsPage extends PageHelper { +export class AlertsPageHelper extends PageHelper { pages = { index: '/#/alerts' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.e2e-spec.ts index 56f4c293f8a..29a348f4534 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { ConfigurationPage } from './configuration.po'; describe('Configuration page', () => { - let page: ConfigurationPage; + let configuration; beforeAll(() => { - page = new ConfigurationPage(); + configuration = new Helper().configuration; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Configuration page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + configuration.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(ConfigurationPage.getBreadcrumbText()).toEqual('Configuration'); + expect(configuration.getBreadcrumbText()).toEqual('Configuration'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.po.ts index 47d000629fc..1e21d19552a 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class ConfigurationPage extends PageHelper { +export class ConfigurationPageHelper extends PageHelper { pages = { index: '/#/configuration' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.e2e-spec.ts index 54243cafa6b..47d5493ea95 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { CrushMapPage } from './crush-map.po'; describe('CRUSH map page', () => { - let page: CrushMapPage; + let crushmap; beforeAll(() => { - page = new CrushMapPage(); + crushmap = new Helper().crushmap; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('CRUSH map page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + crushmap.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(CrushMapPage.getBreadcrumbText()).toEqual('CRUSH map'); + expect(crushmap.getBreadcrumbText()).toEqual('CRUSH map'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts index 16992b84a9f..b1b3e8f4fc9 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class CrushMapPage extends PageHelper { +export class CrushMapPageHelper extends PageHelper { pages = { index: '/#/crush-map' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.e2e-spec.ts index db5690cc0b7..094c7771d29 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { HostsPage } from './hosts.po'; describe('Hosts page', () => { - let page: HostsPage; + let hosts; beforeAll(() => { - page = new HostsPage(); + hosts = new Helper().hosts; }); afterEach(() => { @@ -14,23 +13,23 @@ describe('Hosts page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + hosts.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(HostsPage.getBreadcrumbText()).toEqual('Hosts'); + expect(hosts.getBreadcrumbText()).toEqual('Hosts'); }); it('should show two tabs', () => { - expect(HostsPage.getTabsCount()).toEqual(2); + expect(hosts.getTabsCount()).toEqual(2); }); it('should show hosts list tab at first', () => { - expect(HostsPage.getTabText(0)).toEqual('Hosts List'); + expect(hosts.getTabText(0)).toEqual('Hosts List'); }); it('should show overall performance as a second tab', () => { - expect(HostsPage.getTabText(1)).toEqual('Overall Performance'); + expect(hosts.getTabText(1)).toEqual('Overall Performance'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.po.ts index 53c664019cf..9d9a7671634 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class HostsPage extends PageHelper { +export class HostsPageHelper extends PageHelper { pages = { index: '/#/hosts' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.e2e-spec.ts index 5548eb1341b..8202744c514 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { LogsPage } from './logs.po'; describe('Logs page', () => { - let page: LogsPage; + let logs; beforeAll(() => { - page = new LogsPage(); + logs = new Helper().logs; }); afterEach(() => { @@ -14,23 +13,23 @@ describe('Logs page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + logs.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(LogsPage.getBreadcrumbText()).toEqual('Logs'); + expect(logs.getBreadcrumbText()).toEqual('Logs'); }); it('should show two tabs', () => { - expect(LogsPage.getTabsCount()).toEqual(2); + expect(logs.getTabsCount()).toEqual(2); }); it('should show cluster logs tab at first', () => { - expect(LogsPage.getTabText(0)).toEqual('Cluster Logs'); + expect(logs.getTabText(0)).toEqual('Cluster Logs'); }); it('should show audit logs as a second tab', () => { - expect(LogsPage.getTabText(1)).toEqual('Audit Logs'); + expect(logs.getTabText(1)).toEqual('Audit Logs'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.po.ts index 9d61c826385..863612c8f4c 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.po.ts @@ -3,6 +3,6 @@ import { PageHelper } from '../page-helper.po'; browser.ignoreSynchronization = true; -export class LogsPage extends PageHelper { +export class LogsPageHelper extends PageHelper { pages = { index: '/#/logs' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.e2e-spec.ts index a45baf8c4a0..5f786b08ece 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { ManagerModulesPage } from './mgr-modules.po'; describe('Manager modules page', () => { - let page: ManagerModulesPage; + let mgrmodules; beforeAll(() => { - page = new ManagerModulesPage(); + mgrmodules = new Helper().mgrmodules; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Manager modules page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + mgrmodules.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(ManagerModulesPage.getBreadcrumbText()).toEqual('Manager modules'); + expect(mgrmodules.getBreadcrumbText()).toEqual('Manager modules'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.po.ts index 72db6a429d9..63306c3e214 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class ManagerModulesPage extends PageHelper { +export class ManagerModulesPageHelper extends PageHelper { pages = { index: '/#/mgr-modules' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.e2e-spec.ts index 7ff2e06e23c..596b4492180 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { MonitorsPage } from './monitors.po'; describe('Monitors page', () => { - let page: MonitorsPage; + let monitors; beforeAll(() => { - page = new MonitorsPage(); + monitors = new Helper().monitors; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Monitors page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + monitors.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(MonitorsPage.getBreadcrumbText()).toEqual('Monitors'); + expect(monitors.getBreadcrumbText()).toEqual('Monitors'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.po.ts index 256ddf77dea..c935eba1e86 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class MonitorsPage extends PageHelper { +export class MonitorsPageHelper extends PageHelper { pages = { index: '/#/monitor' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.e2e-spec.ts index 57ae67da268..bb8216e434f 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { OSDsPage } from './osds.po'; describe('OSDs page', () => { - let page: OSDsPage; + let osds; beforeAll(() => { - page = new OSDsPage(); + osds = new Helper().osds; }); afterEach(() => { @@ -14,23 +13,23 @@ describe('OSDs page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + osds.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(OSDsPage.getBreadcrumbText()).toEqual('OSDs'); + expect(osds.getBreadcrumbText()).toEqual('OSDs'); }); it('should show two tabs', () => { - expect(OSDsPage.getTabsCount()).toEqual(2); + expect(osds.getTabsCount()).toEqual(2); }); it('should show OSDs list tab at first', () => { - expect(OSDsPage.getTabText(0)).toEqual('OSDs List'); + expect(osds.getTabText(0)).toEqual('OSDs List'); }); it('should show overall performance as a second tab', () => { - expect(OSDsPage.getTabText(1)).toEqual('Overall Performance'); + expect(osds.getTabText(1)).toEqual('Overall Performance'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.po.ts index df84c8d490e..a9689892072 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class OSDsPage extends PageHelper { +export class OSDsPageHelper extends PageHelper { pages = { index: '/#/osd' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.e2e-spec.ts index 13266645d7e..1146dad3571 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { FilesystemsPage } from './filesystems.po'; describe('Filesystems page', () => { - let page: FilesystemsPage; + let filesystems; beforeAll(() => { - page = new FilesystemsPage(); + filesystems = new Helper().filesystems; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Filesystems page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + filesystems.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(FilesystemsPage.getBreadcrumbText()).toEqual('Filesystems'); + expect(filesystems.getBreadcrumbText()).toEqual('Filesystems'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.po.ts index 821cf00faf0..eedbd855c63 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class FilesystemsPage extends PageHelper { +export class FilesystemsPageHelper extends PageHelper { pages = { index: '/#/cephfs' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts index c0aa7f5d79a..eadafac966b 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts @@ -1,17 +1,62 @@ import { browser } from 'protractor'; +import { ImagesPageHelper } from './block/images.po'; +import { IscsiPageHelper } from './block/iscsi.po'; +import { MirroringPageHelper } from './block/mirroring.po'; +import { AlertsPageHelper } from './cluster/alerts.po'; +import { ConfigurationPageHelper } from './cluster/configuration.po'; +import { CrushMapPageHelper } from './cluster/crush-map.po'; +import { HostsPageHelper } from './cluster/hosts.po'; +import { LogsPageHelper } from './cluster/logs.po'; +import { ManagerModulesPageHelper } from './cluster/mgr-modules.po'; +import { MonitorsPageHelper } from './cluster/monitors.po'; +import { OSDsPageHelper } from './cluster/osds.po'; +import { FilesystemsPageHelper } from './filesystems/filesystems.po'; +import { NfsPageHelper } from './nfs/nfs.po'; import { PoolPageHelper } from './pools/pools.po'; import { BucketsPageHelper } from './rgw/buckets.po'; +import { DaemonsPageHelper } from './rgw/daemons.po'; +import { UsersPageHelper } from './rgw/users.po'; export class Helper { static EC = browser.ExpectedConditions; - static TIMEOUT = 30000; + static TIMEOUT = 10000; buckets: BucketsPageHelper; + daemons: DaemonsPageHelper; + users: UsersPageHelper; pools: PoolPageHelper; + nfs: NfsPageHelper; + filesystems: FilesystemsPageHelper; + alerts: AlertsPageHelper; + configuration: ConfigurationPageHelper; + crushmap: CrushMapPageHelper; + hosts: HostsPageHelper; + logs: LogsPageHelper; + mgrmodules: ManagerModulesPageHelper; + monitors: MonitorsPageHelper; + osds: OSDsPageHelper; + images: ImagesPageHelper; + iscsi: IscsiPageHelper; + mirroring: MirroringPageHelper; constructor() { this.buckets = new BucketsPageHelper(); + this.daemons = new DaemonsPageHelper(); + this.users = new UsersPageHelper(); this.pools = new PoolPageHelper(); + this.nfs = new NfsPageHelper(); + this.filesystems = new FilesystemsPageHelper(); + this.alerts = new AlertsPageHelper(); + this.configuration = new ConfigurationPageHelper(); + this.crushmap = new CrushMapPageHelper(); + this.hosts = new HostsPageHelper(); + this.logs = new LogsPageHelper(); + this.mgrmodules = new ManagerModulesPageHelper(); + this.monitors = new MonitorsPageHelper(); + this.osds = new OSDsPageHelper(); + this.images = new ImagesPageHelper(); + this.iscsi = new IscsiPageHelper(); + this.mirroring = new MirroringPageHelper(); } /** diff --git a/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.e2e-spec.ts index 23a29952772..803c8ea5abc 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { NfsPage } from './nfs.po'; describe('Nfs page', () => { - let page: NfsPage; + let nfs; beforeAll(() => { - page = new NfsPage(); + nfs = new Helper().nfs; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('Nfs page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + nfs.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(NfsPage.getBreadcrumbText()).toEqual('NFS'); + expect(nfs.getBreadcrumbText()).toEqual('NFS'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.po.ts index 5909cafa42a..d3db8ecca60 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class NfsPage extends PageHelper { +export class NfsPageHelper extends PageHelper { pages = { index: '/#/nfs' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/page-helper.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/page-helper.po.ts index 72a93b4955a..37dbc9668cd 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/page-helper.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/page-helper.po.ts @@ -7,21 +7,45 @@ interface Pages { export abstract class PageHelper { pages: Pages; - static getBreadcrumbText() { + /** + * Decorator to be used on Helper methods to restrict access to one + * particular URL. This shall help developers to prevent and highlight + * mistakes. It also reduces boilerplate code and by thus, increases + * readability. + */ + static restrictTo(page): any { + return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => { + const fn: Function = descriptor.value; + descriptor.value = function(...args) { + return browser + .getCurrentUrl() + .then((url) => + url.endsWith(page) + ? fn.apply(this, args) + : promise.Promise.reject( + `Method ${target.constructor.name}::${propertyKey} is supposed to be ` + + `run on path "${page}", but was run on URL "${url}"` + ) + ); + }; + }; + } + + getBreadcrumbText() { return $('.breadcrumb-item.active').getText(); } - static getTabText(idx) { + getTabText(idx) { return $$('.nav.nav-tabs li') .get(idx) .getText(); } - static getTableCount() { + getTableCount() { return $('.datatable-footer-inner.selected-count'); } - static getTitleText() { + getTitleText() { let title; return browser .wait(() => { @@ -31,19 +55,19 @@ export abstract class PageHelper { .then(() => title.getText()); } - static getTableCell(content) { + getTableCell(content) { return element(by.cssContainingText('.datatable-body-cell-label', content)); } - static getTable() { + getTable() { return element.all(by.css('.datatable-body')); } - static getTabsCount() { + getTabsCount() { return $$('.nav.nav-tabs li').count(); } - static getFirstTableCellWithText(content) { + getFirstTableCellWithText(content) { return element.all(by.cssContainingText('.datatable-body-cell-label', content)).first(); } @@ -52,7 +76,7 @@ export abstract class PageHelper { * * https://stackoverflow.com/questions/26211751/protractor-chrome-driver-element-is-not-clickable-at-point */ - static moveClick(object) { + moveClick(object) { return browser .actions() .mouseMove(object) @@ -70,7 +94,7 @@ export abstract class PageHelper { * means if after the search for content has been completed, but more than a * single row is shown in the data table. */ - static getTableCellByContent(content: string): promise.Promise { + getTableCellByContent(content: string): promise.Promise { const searchInput = $('#pool-list > div .search input'); const rowAmountInput = $('#pool-list > div > div > .dataTables_paginate input'); const footer = $('#pool-list > div datatable-footer'); @@ -92,30 +116,6 @@ export abstract class PageHelper { }); } - /** - * Decorator to be used on Helper methods to restrict access to one - * particular URL. This shall help developers to prevent and highlight - * mistakes. It also reduces boilerplate code and by thus, increases - * readability. - */ - static restrictTo(page): any { - return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => { - const fn: Function = descriptor.value; - descriptor.value = function(...args) { - return browser - .getCurrentUrl() - .then((url) => - url.endsWith(page) - ? fn.apply(this, args) - : promise.Promise.reject( - `Method ${target.constructor.name}::${propertyKey} is supposed to be ` + - `run on path "${page}", but was run on URL "${url}"` - ) - ); - }; - }; - } - navigateTo(page = null) { page = page || 'index'; const url = this.pages[page]; 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 index 302ff8255a9..e30a8729125 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts @@ -1,15 +1,12 @@ import { Helper } from '../helper.po'; -import { PoolPageHelper } from './pools.po'; describe('Pools page', () => { - let page: PoolPageHelper; - let helper: Helper; + let pools; const poolName = 'pool_e2e_pool_test'; beforeAll(() => { - page = new PoolPageHelper(); - helper = new Helper(); - page.navigateTo(); + pools = new Helper().pools; + pools.navigateTo(); }); afterEach(() => { @@ -18,37 +15,37 @@ describe('Pools page', () => { describe('breadcrumb and tab tests', () => { it('should open and show breadcrumb', () => { - expect(PoolPageHelper.getBreadcrumbText()).toEqual('Pools'); + expect(pools.getBreadcrumbText()).toEqual('Pools'); }); it('should show two tabs', () => { - expect(PoolPageHelper.getTabsCount()).toEqual(2); + expect(pools.getTabsCount()).toEqual(2); }); it('should show pools list tab at first', () => { - expect(PoolPageHelper.getTabText(0)).toEqual('Pools List'); + expect(pools.getTabText(0)).toEqual('Pools List'); }); it('should show overall performance as a second tab', () => { - expect(PoolPageHelper.getTabText(1)).toEqual('Overall Performance'); + expect(pools.getTabText(1)).toEqual('Overall Performance'); }); }); it('should create a pool', () => { - helper.pools.exist(poolName, false).then(() => { - helper.pools.navigateTo('create'); - helper.pools.create(poolName, 8).then(() => { - helper.pools.navigateTo(); - helper.pools.exist(poolName, true); + pools.exist(poolName, false).then(() => { + pools.navigateTo('create'); + pools.create(poolName, 8).then(() => { + pools.navigateTo(); + pools.exist(poolName, true); }); }); }); it('should delete a pool', () => { - helper.pools.exist(poolName); - helper.pools.delete(poolName).then(() => { - helper.pools.navigateTo(); - helper.pools.exist(poolName, false); + pools.exist(poolName); + pools.delete(poolName).then(() => { + pools.navigateTo(); + pools.exist(poolName, false); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts index 9f110a79133..535542fcc84 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts @@ -18,7 +18,7 @@ export class PoolPageHelper extends PageHelper { @PageHelper.restrictTo(pages.index) exist(name: string, oughtToBePresent = true): promise.Promise { - return PageHelper.getTableCellByContent(name).then((elem) => { + return this.getTableCellByContent(name).then((elem) => { const waitFn = oughtToBePresent ? EC.visibilityOf(elem) : EC.invisibilityOf(elem); return browser.wait(waitFn, Helper.TIMEOUT).catch(() => { const visibility = oughtToBePresent ? 'invisible' : 'visible'; @@ -53,7 +53,7 @@ export class PoolPageHelper extends PageHelper { @PageHelper.restrictTo(pages.index) delete(name: string): promise.Promise { - return PoolPageHelper.getTableCellByContent(name).then((tableCell: ElementFinder) => { + return this.getTableCellByContent(name).then((tableCell: ElementFinder) => { return tableCell.click().then(() => { return $('.table-actions button.dropdown-toggle') // open submenu .click() @@ -65,7 +65,7 @@ export class PoolPageHelper extends PageHelper { browser .wait(() => EC.visibilityOf(getConfirmationCheckbox()), Helper.TIMEOUT) .then(() => { - PageHelper.moveClick(getConfirmationCheckbox()).then(() => { + this.moveClick(getConfirmationCheckbox()).then(() => { return element(by.cssContainingText('button', 'Delete Pool')).click(); // Click Delete item }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.e2e-spec.ts index 0f5e6b707f3..d3d87b9cf6c 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.e2e-spec.ts @@ -1,9 +1,7 @@ import { Helper } from '../helper.po'; -import { PageHelper } from '../page-helper.po'; -import { BucketsPageHelper } from './buckets.po'; describe('RGW buckets page', () => { - let buckets: BucketsPageHelper; + let buckets; beforeAll(() => { buckets = new Helper().buckets; @@ -16,7 +14,7 @@ describe('RGW buckets page', () => { describe('breadcrumb test', () => { it('should open and show breadcrumb', () => { - expect(PageHelper.getBreadcrumbText()).toEqual('Buckets'); + expect(buckets.getBreadcrumbText()).toEqual('Buckets'); }); }); @@ -27,17 +25,17 @@ describe('RGW buckets page', () => { '0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef', 'default-placement' ); - expect(PageHelper.getTableCell('000test').isPresent()).toBe(true); + expect(buckets.getTableCell('000test').isPresent()).toBe(true); }); it('should edit bucket', () => { buckets.edit('000test', 'dev'); - expect(PageHelper.getTable().getText()).toMatch('dev'); + expect(buckets.getTable().getText()).toMatch('dev'); }); it('should delete bucket', () => { buckets.delete('000test'); - expect(PageHelper.getTableCell('000test').isPresent()).toBe(false); + expect(buckets.getTableCell('000test').isPresent()).toBe(false); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.po.ts index 834c501f792..ae7f9af6e63 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.po.ts @@ -28,7 +28,7 @@ export class BucketsPageHelper extends PageHelper { const createButton = element(by.cssContainingText('button', 'Create Bucket')); createButton.click().then(() => { browser.wait( - Helper.EC.presenceOf(PageHelper.getTableCell(name)), + Helper.EC.presenceOf(this.getTableCell(name)), Helper.TIMEOUT, 'Timed out waiting for bucket creation' ); @@ -38,11 +38,11 @@ export class BucketsPageHelper extends PageHelper { edit(name, new_owner) { this.navigateTo(); - browser.wait(Helper.EC.elementToBeClickable(PageHelper.getTableCell(name)), 10000); // wait for table to load - PageHelper.getTableCell(name).click(); // click on the bucket you want to edit in the table + browser.wait(Helper.EC.elementToBeClickable(this.getTableCell(name)), 10000); // wait for table to load + this.getTableCell(name).click(); // click on the bucket you want to edit in the table element(by.cssContainingText('button', 'Edit')).click(); // click button to move to edit page - expect(PageHelper.getBreadcrumbText()).toEqual('Edit'); + expect(this.getBreadcrumbText()).toEqual('Edit'); expect(element(by.css('input[name=placement-target]')).getAttribute('value')).toBe( 'default-placement' @@ -56,13 +56,13 @@ export class BucketsPageHelper extends PageHelper { editbutton.click().then(() => { // wait to be back on buckets page with table visible browser.wait( - Helper.EC.elementToBeClickable(PageHelper.getTableCell(name)), + Helper.EC.elementToBeClickable(this.getTableCell(name)), 10000, 'Could not return to buckets page and load table after editing bucket' ); // click on edited bucket and check its details table for edited owner field - PageHelper.getTableCell(name).click(); + this.getTableCell(name).click(); const element_details_table = element .all(by.css('.table.table-striped.table-bordered')) .first(); @@ -74,9 +74,9 @@ export class BucketsPageHelper extends PageHelper { this.navigateTo(); // wait for table to load - browser.wait(Helper.EC.elementToBeClickable(PageHelper.getTableCell(name)), 10000); + browser.wait(Helper.EC.elementToBeClickable(this.getTableCell(name)), 10000); - PageHelper.getTableCell(name).click(); // click on the bucket you want to delete in the table + this.getTableCell(name).click(); // click on the bucket you want to delete in the table $('.table-actions button.dropdown-toggle').click(); // click toggle menu $('li.delete a').click(); // click delete // wait for pop-up to be visible (checks for title of pop-up) @@ -87,14 +87,14 @@ export class BucketsPageHelper extends PageHelper { .click() .then(() => { this.navigateTo(); - browser.wait(Helper.EC.not(Helper.EC.presenceOf(PageHelper.getTableCell(name))), 10000); + browser.wait(Helper.EC.not(Helper.EC.presenceOf(this.getTableCell(name))), 10000); }); }); } invalidCreate() { this.navigateTo('create'); - expect(PageHelper.getBreadcrumbText()).toEqual('Create'); + expect(this.getBreadcrumbText()).toEqual('Create'); const nameInputField = element(by.id('bid')); // Grabs name box field const ownerDropDown = element(by.id('owner')); // Grab owner field @@ -102,7 +102,7 @@ export class BucketsPageHelper extends PageHelper { // Gives an invalid name (too short), then waits for dashboard to determine validity nameInputField.sendKeys('rq'); - PageHelper.moveClick(ownerDropDown); // To trigger a validation + this.moveClick(ownerDropDown); // To trigger a validation browser.wait( function() { @@ -124,16 +124,16 @@ export class BucketsPageHelper extends PageHelper { ); // Test invalid owner input - PageHelper.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page + this.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page // select some valid option. The owner drop down error message will not appear unless a valid user was selected at // one point before the invalid placeholder user is selected. element(by.cssContainingText('select[name=owner] option', 'dev')).click(); - PageHelper.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page + this.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page // select the first option, which is invalid because it is a placeholder element(by.cssContainingText('select[name=owner] option', 'Select a user')).click(); - PageHelper.moveClick(nameInputField); // To trigger a validation + this.moveClick(nameInputField); // To trigger a validation // Check that owner drop down field was marked invalid in the css expect(element(by.id('owner')).getAttribute('class')).toContain('ng-invalid'); @@ -144,7 +144,7 @@ export class BucketsPageHelper extends PageHelper { ); // Check invalid placement target input - PageHelper.moveClick(ownerDropDown); + this.moveClick(ownerDropDown); element(by.cssContainingText('select[name=owner] option', 'dev')).click(); // The drop down error message will not appear unless a valid option is previsously selected. element( @@ -153,7 +153,7 @@ export class BucketsPageHelper extends PageHelper { element( by.cssContainingText('select[name=placement-target] option', 'Select a placement target') ).click(); - PageHelper.moveClick(nameInputField); // To trigger a validation + this.moveClick(nameInputField); // To trigger a validation expect(element(by.id('placement-target')).getAttribute('class')).toContain('ng-invalid'); expect(element(by.css('#placement-target + .invalid-feedback')).getText()).toMatch( 'This field is required.' @@ -161,8 +161,8 @@ export class BucketsPageHelper extends PageHelper { // Clicks the Create Bucket button but the page doesn't move. Done by testing // for the breadcrumb - PageHelper.moveClick(element(by.cssContainingText('button', 'Create Bucket'))); // Clicks Create Bucket button - expect(PageHelper.getBreadcrumbText()).toEqual('Create'); + this.moveClick(element(by.cssContainingText('button', 'Create Bucket'))); // Clicks Create Bucket button + expect(this.getBreadcrumbText()).toEqual('Create'); // content in fields seems to subsist through tests if not cleared, so it is cleared nameInputField.clear().then(() => { element(by.cssContainingText('button', 'Cancel')).click(); @@ -173,21 +173,21 @@ export class BucketsPageHelper extends PageHelper { this.navigateTo(); browser.wait( - Helper.EC.elementToBeClickable(PageHelper.getTableCell(name)), + Helper.EC.elementToBeClickable(this.getTableCell(name)), 10000, 'Failed waiting for bucket to be present in table' ); // wait for table to load - PageHelper.getTableCell(name).click(); // click on the bucket you want to edit in the table + this.getTableCell(name).click(); // click on the bucket you want to edit in the table element(by.cssContainingText('button', 'Edit')).click(); // click button to move to edit page - expect(PageHelper.getBreadcrumbText()).toEqual('Edit'); + expect(this.getBreadcrumbText()).toEqual('Edit'); // Chooses 'Select a user' rather than a valid owner on Edit Bucket page // and checks if it's an invalid input const ownerDropDown = element(by.id('owner')); browser.wait(Helper.EC.elementToBeClickable(ownerDropDown), 5000); - PageHelper.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page + this.moveClick(ownerDropDown); // Clicks the Owner drop down on the Create Bucket page // select the first option, which is invalid because it is a placeholder element(by.cssContainingText('select[name=owner] option', 'Select a user')).click(); @@ -206,6 +206,6 @@ export class BucketsPageHelper extends PageHelper { // Clicks the Edit Bucket button but the page doesn't move. Done by testing for // breadcrumb element(by.cssContainingText('button', 'Edit Bucket')).click(); // Gets the Edit button and clicks it - expect(PageHelper.getBreadcrumbText()).toEqual('Edit'); + expect(this.getBreadcrumbText()).toEqual('Edit'); } } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.e2e-spec.ts index 70553c9a06e..48437930924 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { DaemonsPage } from './daemons.po'; describe('RGW daemons page', () => { - let page: DaemonsPage; + let daemons; beforeAll(() => { - page = new DaemonsPage(); + daemons = new Helper().daemons; }); afterEach(() => { @@ -14,23 +13,23 @@ describe('RGW daemons page', () => { describe('breadcrumb and tab tests', () => { beforeAll(() => { - page.navigateTo(); + daemons.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(DaemonsPage.getBreadcrumbText()).toEqual('Daemons'); + expect(daemons.getBreadcrumbText()).toEqual('Daemons'); }); it('should show two tabs', () => { - expect(DaemonsPage.getTabsCount()).toEqual(2); + expect(daemons.getTabsCount()).toEqual(2); }); it('should show daemons list tab at first', () => { - expect(DaemonsPage.getTabText(0)).toEqual('Daemons List'); + expect(daemons.getTabText(0)).toEqual('Daemons List'); }); it('should show overall performance as a second tab', () => { - expect(DaemonsPage.getTabText(1)).toEqual('Overall Performance'); + expect(daemons.getTabText(1)).toEqual('Overall Performance'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.po.ts index 0f6c8363a5e..fa44c0875c8 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class DaemonsPage extends PageHelper { +export class DaemonsPageHelper extends PageHelper { pages = { index: '/#/rgw/daemon' }; } diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.e2e-spec.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.e2e-spec.ts index 3c6487acd86..29baee7313b 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.e2e-spec.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.e2e-spec.ts @@ -1,11 +1,10 @@ import { Helper } from '../helper.po'; -import { UsersPage } from './users.po'; describe('RGW users page', () => { - let page: UsersPage; + let users; beforeAll(() => { - page = new UsersPage(); + users = new Helper().users; }); afterEach(() => { @@ -14,11 +13,11 @@ describe('RGW users page', () => { describe('breadcrumb test', () => { beforeAll(() => { - page.navigateTo(); + users.navigateTo(); }); it('should open and show breadcrumb', () => { - expect(UsersPage.getBreadcrumbText()).toEqual('Users'); + expect(users.getBreadcrumbText()).toEqual('Users'); }); }); }); diff --git a/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.po.ts b/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.po.ts index 7c21688ccb0..2ded62dbf77 100644 --- a/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.po.ts +++ b/src/pybind/mgr/dashboard/frontend/e2e/rgw/users.po.ts @@ -1,5 +1,5 @@ import { PageHelper } from '../page-helper.po'; -export class UsersPage extends PageHelper { +export class UsersPageHelper extends PageHelper { pages = { index: '/#/rgw/user' }; } -- 2.39.5