]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: Ensure E2E tests can be run independently 28592/head
authorPatrick Nawracay <pnawracay@suse.com>
Mon, 17 Jun 2019 09:36:53 +0000 (11:36 +0200)
committerPatrick Nawracay <pnawracay@suse.com>
Tue, 18 Jun 2019 14:05:56 +0000 (16:05 +0200)
Introduces the PageHelper.

- Reads class attributes from Helpers to reduce boilerplace code for
  navigation.
- The PageHelper is supposed to be the new class for code that's reused
  across all Helpers for page related code.
- The Helper class is by now meant to be used for non-page specific
  helper code, like used in the `checkConsole` method.
- The Helper class will act as central registry to enable all other
  tests to use helper functions of all derived PageHelper tests.

  Example:

  `Helper.pools.create('foobar', ...);`

Fixes: http://tracker.ceph.com/issues/40397
Signed-off-by: Patrick Nawracay <pnawracay@suse.com>
37 files changed:
src/pybind/mgr/dashboard/HACKING.rst
src/pybind/mgr/dashboard/frontend/e2e/block/images.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/block/images.po.ts
src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/block/iscsi.po.ts
src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/block/mirroring.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/alerts.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/configuration.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/crush-map.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/hosts.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/logs.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/mgr-modules.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/monitors.po.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/cluster/osds.po.ts
src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/filesystems/filesystems.po.ts
src/pybind/mgr/dashboard/frontend/e2e/helper.po.ts
src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/nfs/nfs.po.ts
src/pybind/mgr/dashboard/frontend/e2e/page-helper.po.ts [new file with mode: 0644]
src/pybind/mgr/dashboard/frontend/e2e/pools/pools.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/pools/pools.po.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/buckets.po.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/daemons.po.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/users.e2e-spec.ts
src/pybind/mgr/dashboard/frontend/e2e/rgw/users.po.ts

index ca31aa62156a27107a7c966ffe5ffb429433872a..8395ef3199ed6bebbedc7bdf5fd0e3eba7bfffe9 100644 (file)
@@ -184,6 +184,29 @@ Note::
    In case you have a somewhat particular environment, you might need to adapt
    `protractor.conf.js` to point to the appropriate destination.
 
+Making code reuseable
+"""""""""""""""""""""
+
+In order to make some code reuseable, you just need to put it in a derived
+class of the ``PageHelper``. If you create a new class derived from the
+``PageHelper``, please also register it in the ``Helper`` class, so that it can
+automatically be used by all other classes. To do so, you just need to create a
+new attribute on the ``Helper`` class and ensure it's instantiated in the
+constructor of the ``Helper`` class.
+
+.. code:: TypeScript
+
+   class Helper {
+      // ...
+      pools: PoolPageHelper;
+
+      constructor() {
+         this.pools = new PoolPageHelper();
+      }
+
+      // ...
+   }
+
 Further Help
 ~~~~~~~~~~~~
 
index f962258f502d261c8ee85ccacbee1bc4a61ad024..8eb434120c410e0e3131328fa8dcf174c355b2a2 100644 (file)
@@ -18,17 +18,17 @@ describe('Images page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Images');
+      expect(ImagesPage.getBreadcrumbText()).toEqual('Images');
     });
 
     it('should show three tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(3);
+      expect(ImagesPage.getTabsCount()).toEqual(3);
     });
 
     it('should show text for all tabs', () => {
-      expect(Helper.getTabText(0)).toEqual('Images');
-      expect(Helper.getTabText(1)).toEqual('Trash');
-      expect(Helper.getTabText(2)).toEqual('Overall Performance');
+      expect(ImagesPage.getTabText(0)).toEqual('Images');
+      expect(ImagesPage.getTabText(1)).toEqual('Trash');
+      expect(ImagesPage.getTabText(2)).toEqual('Overall Performance');
     });
   });
 });
index b3fb2f1ea57c81a7f9673c1d03a79b5f6a0095d1..6f9fb5aff9a493f16289424bd4b4e011868a179b 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class ImagesPage {
-  navigateTo() {
-    return browser.get('/#/block/rbd');
-  }
+export class ImagesPage extends PageHelper {
+  pages = { index: '/#/block/rbd' };
 }
index aa7e034f9b17dd272bbd2cbbb96a779ce353c05b..194f87efb42775552e3627e6ee2d7db1dc72e6b9 100644 (file)
@@ -18,7 +18,7 @@ describe('Iscsi Page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Overview');
+      expect(IscsiPage.getBreadcrumbText()).toEqual('Overview');
     });
   });
 });
index 79eb94c44dec3f42b82801ca7bc6d95eda1ceff7..9cba79b21eba943c527294e740bd07b0de9b76a3 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class IscsiPage {
-  navigateTo() {
-    return browser.get('/#/block/iscsi');
-  }
+export class IscsiPage extends PageHelper {
+  pages = { index: '/#/block/iscsi/overview' };
 }
index a8f819cc874444bc7b1f6b7a2f0dc657945d3ada..536b0881f3b8ec75e6fea8917d4fbb0ba645aeef 100644 (file)
@@ -18,17 +18,17 @@ describe('Mirroring page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Mirroring');
+      expect(MirroringPage.getBreadcrumbText()).toEqual('Mirroring');
     });
 
     it('should show three tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(3);
+      expect(MirroringPage.getTabsCount()).toEqual(3);
     });
 
     it('should show text for all tabs', () => {
-      expect(Helper.getTabText(0)).toEqual('Issues');
-      expect(Helper.getTabText(1)).toEqual('Syncing');
-      expect(Helper.getTabText(2)).toEqual('Ready');
+      expect(MirroringPage.getTabText(0)).toEqual('Issues');
+      expect(MirroringPage.getTabText(1)).toEqual('Syncing');
+      expect(MirroringPage.getTabText(2)).toEqual('Ready');
     });
   });
 });
index f4a8baebde11223421ffd13fd3c34b0705b5d3f1..875a51b1fc8cd756ce1deb5a4f00e768615cd920 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class MirroringPage {
-  navigateTo() {
-    return browser.get('/#/block/mirroring');
-  }
+export class MirroringPage extends PageHelper {
+  pages = { index: '/#/block/mirroring' };
 }
index 2600a83ab849d44ec65955d9470263a1dfc4b1c3..bf139cb85566c323c193df88a69378a574d38ed0 100644 (file)
@@ -18,7 +18,7 @@ describe('Alerts page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Alerts');
+      expect(AlertsPage.getBreadcrumbText()).toEqual('Alerts');
     });
   });
 });
index 076b15b690439baf47b3c2fd13680eaf2d6f46ae..02cf70a429a72c68822bac786defe1297b023df2 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class AlertsPage {
-  navigateTo() {
-    return browser.get('/#/alerts');
-  }
+export class AlertsPage extends PageHelper {
+  pages = { index: '/#/alerts' };
 }
index e2c25a5bb6bf59a0e6df1ee8de38ea72a092e15d..56f4c293f8ad4f1c436a1fdb9011461c8477134c 100644 (file)
@@ -18,7 +18,7 @@ describe('Configuration page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Configuration');
+      expect(ConfigurationPage.getBreadcrumbText()).toEqual('Configuration');
     });
   });
 });
index b23a078aae4412398dbb720df681222523692860..47d000629fc5493673c3a9f6007797a5f314e13a 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class ConfigurationPage {
-  navigateTo() {
-    return browser.get('/#/configuration');
-  }
+export class ConfigurationPage extends PageHelper {
+  pages = { index: '/#/configuration' };
 }
index 77e8c06e8003007159bb956a0b7287aca8075eb7..54243cafa6b742131fbc4a4ac16c0cfd51f7a638 100644 (file)
@@ -18,7 +18,7 @@ describe('CRUSH map page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('CRUSH map');
+      expect(CrushMapPage.getBreadcrumbText()).toEqual('CRUSH map');
     });
   });
 });
index e4d54c616f70c0fc2181a514d92bc8ee19af38a4..16992b84a9f4f1f92404ffa4d73d08cc27cafce4 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class CrushMapPage {
-  navigateTo() {
-    return browser.get('/#/crush-map');
-  }
+export class CrushMapPage extends PageHelper {
+  pages = { index: '/#/crush-map' };
 }
index 806a6efeca2f01e14b46ad352c5daec4e08345f6..db5690cc0b7a5068d9dc5a7c294715a31477b20b 100644 (file)
@@ -18,19 +18,19 @@ describe('Hosts page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Hosts');
+      expect(HostsPage.getBreadcrumbText()).toEqual('Hosts');
     });
 
     it('should show two tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(2);
+      expect(HostsPage.getTabsCount()).toEqual(2);
     });
 
     it('should show hosts list tab at first', () => {
-      expect(Helper.getTabText(0)).toEqual('Hosts List');
+      expect(HostsPage.getTabText(0)).toEqual('Hosts List');
     });
 
     it('should show overall performance as a second tab', () => {
-      expect(Helper.getTabText(1)).toEqual('Overall Performance');
+      expect(HostsPage.getTabText(1)).toEqual('Overall Performance');
     });
   });
 });
index 6a90ef7ff0e2fd6ea5a363f24cabe6c0ff9cc339..53c664019cfedc60bf1b60137dc3f9df2c798a86 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class HostsPage {
-  navigateTo() {
-    return browser.get('/#/hosts');
-  }
+export class HostsPage extends PageHelper {
+  pages = { index: '/#/hosts' };
 }
index 2e357b4c307b2f9e717745c2e842a32c9ec51ad5..5548eb1341b5fbf18bf8332bb3dd282a2abb0abb 100644 (file)
@@ -18,19 +18,19 @@ describe('Logs page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Logs');
+      expect(LogsPage.getBreadcrumbText()).toEqual('Logs');
     });
 
     it('should show two tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(2);
+      expect(LogsPage.getTabsCount()).toEqual(2);
     });
 
     it('should show cluster logs tab at first', () => {
-      expect(Helper.getTabText(0)).toEqual('Cluster Logs');
+      expect(LogsPage.getTabText(0)).toEqual('Cluster Logs');
     });
 
     it('should show audit logs as a second tab', () => {
-      expect(Helper.getTabText(1)).toEqual('Audit Logs');
+      expect(LogsPage.getTabText(1)).toEqual('Audit Logs');
     });
   });
 });
index 146779454cc3515c86d6b64e43684a74441de66c..9d61c8263853fd77051f601406de696173edc9db 100644 (file)
@@ -1,9 +1,8 @@
 import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
 browser.ignoreSynchronization = true;
 
-export class LogsPage {
-  navigateTo() {
-    return browser.get('/#/logs');
-  }
+export class LogsPage extends PageHelper {
+  pages = { index: '/#/logs' };
 }
index 6bc71747b280a13943ef6ffa75c52789263766cb..a45baf8c4a08ab0f50d72b90925c561a44533114 100644 (file)
@@ -18,7 +18,7 @@ describe('Manager modules page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Manager modules');
+      expect(ManagerModulesPage.getBreadcrumbText()).toEqual('Manager modules');
     });
   });
 });
index 208f30339920adc9c595008db964f9186bc90f51..72db6a429d979f72b7cb70c7217dfc7c82df6603 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class ManagerModulesPage {
-  navigateTo() {
-    return browser.get('/#/mgr-modules');
-  }
+export class ManagerModulesPage extends PageHelper {
+  pages = { index: '/#/mgr-modules' };
 }
index 54683ce1131d8012183a20a7a7f644c12194cb08..7ff2e06e23cff62809995f63d3d32e9587f0ac4d 100644 (file)
@@ -18,7 +18,7 @@ describe('Monitors page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Monitors');
+      expect(MonitorsPage.getBreadcrumbText()).toEqual('Monitors');
     });
   });
 });
index 53159d30e4d5793d1912a8fe6ba93961a0b79d9c..256ddf77dea50b6f8bf78d9406a79e2f2847af4d 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class MonitorsPage {
-  navigateTo() {
-    return browser.get('/#/monitor');
-  }
+export class MonitorsPage extends PageHelper {
+  pages = { index: '/#/monitor' };
 }
index 82e3388dec5607e39b1d1a6a9a2f0aec00530d4f..57ae67da268ae6c3ae7a26d000ddb0585cdf8e0d 100644 (file)
@@ -18,19 +18,19 @@ describe('OSDs page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('OSDs');
+      expect(OSDsPage.getBreadcrumbText()).toEqual('OSDs');
     });
 
     it('should show two tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(2);
+      expect(OSDsPage.getTabsCount()).toEqual(2);
     });
 
     it('should show OSDs list tab at first', () => {
-      expect(Helper.getTabText(0)).toEqual('OSDs List');
+      expect(OSDsPage.getTabText(0)).toEqual('OSDs List');
     });
 
     it('should show overall performance as a second tab', () => {
-      expect(Helper.getTabText(1)).toEqual('Overall Performance');
+      expect(OSDsPage.getTabText(1)).toEqual('Overall Performance');
     });
   });
 });
index 08e4143831fe7fc5fb1dd7a8cdabc94f86b6cc57..df84c8d490e7243f521e9cf58d3ac1fe4f2c07f1 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class OSDsPage {
-  navigateTo() {
-    return browser.get('/#/osd');
-  }
+export class OSDsPage extends PageHelper {
+  pages = { index: '/#/osd' };
 }
index d5306858423eff67052db4ed42592201bb3a1e6c..13266645d7e9cf7fd1b792cb9881569526c20f2e 100644 (file)
@@ -18,7 +18,7 @@ describe('Filesystems page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Filesystems');
+      expect(FilesystemsPage.getBreadcrumbText()).toEqual('Filesystems');
     });
   });
 });
index 4f7638143b107a094c695ad24a0912dc880f34d3..821cf00faf0ccb128accd45a2e40d4acfe731c01 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class FilesystemsPage {
-  navigateTo() {
-    return browser.get('/#/cephfs');
-  }
+export class FilesystemsPage extends PageHelper {
+  pages = { index: '/#/cephfs' };
 }
index 7ff26b315b9402f931b56b4652a16149e2a15e4e..3e95ff8224e0614cc48f30f1fd2c0a122e96aea0 100644 (file)
@@ -1,4 +1,4 @@
-import { $, $$, browser } from 'protractor';
+import { browser } from 'protractor';
 
 export class Helper {
   static EC = browser.ExpectedConditions;
@@ -27,18 +27,4 @@ export class Helper {
         expect(browserLog.length).toEqual(0);
       });
   }
-
-  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();
-  }
 }
index de45daf0a51dd861ca90acfd3ab62219bfffa7c4..23a29952772f09ab851c6db10df9dd04455463ae 100644 (file)
@@ -18,7 +18,7 @@ describe('Nfs page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('NFS');
+      expect(NfsPage.getBreadcrumbText()).toEqual('NFS');
     });
   });
 });
index fe6f342ede4fcd3a91cf664d6638babbe85d1552..5909cafa42a6ee2815025e41b8035278abfd2773 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class NfsPage {
-  navigateTo() {
-    return browser.get('/#/nfs');
-  }
+export class NfsPage 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
new file mode 100644 (file)
index 0000000..7212d6b
--- /dev/null
@@ -0,0 +1,27 @@
+import { $, $$, browser } from 'protractor';
+
+interface Pages {
+  index: string;
+}
+
+export abstract class PageHelper {
+  pages: Pages;
+
+  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();
+  }
+
+  navigateTo(page = null) {
+    return browser.get(this.pages[page || 'index']);
+  }
+}
index 0ab2414dfdd2fe42869373d4501b4ad14b3c9b6a..69a626f64789ff03cc963f36cd034beff2efed6a 100644 (file)
@@ -1,11 +1,11 @@
 import { Helper } from '../helper.po';
-import { PoolsPage } from './pools.po';
+import { PoolPageHelper } from './pools.po';
 
 describe('Pools page', () => {
-  let page: PoolsPage;
+  let page: PoolPageHelper;
 
   beforeAll(() => {
-    page = new PoolsPage();
+    page = new PoolPageHelper();
   });
 
   afterEach(() => {
@@ -18,19 +18,19 @@ describe('Pools page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Pools');
+      expect(PoolPageHelper.getBreadcrumbText()).toEqual('Pools');
     });
 
     it('should show two tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(2);
+      expect(PoolPageHelper.getTabsCount()).toEqual(2);
     });
 
     it('should show pools list tab at first', () => {
-      expect(Helper.getTabText(0)).toEqual('Pools List');
+      expect(PoolPageHelper.getTabText(0)).toEqual('Pools List');
     });
 
     it('should show overall performance as a second tab', () => {
-      expect(Helper.getTabText(1)).toEqual('Overall Performance');
+      expect(PoolPageHelper.getTabText(1)).toEqual('Overall Performance');
     });
   });
 });
index 3682c671ea8d3f672bbcb10d331291fb33dcb670..4fa15b79c0636c3559fbfda5b176a8f2c466f391 100644 (file)
@@ -1,7 +1,8 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class PoolsPage {
-  navigateTo() {
-    return browser.get('/#/pool');
-  }
+export class PoolPageHelper extends PageHelper {
+  pages = {
+    index: '/#/pool',
+    create: '/#/pool/create'
+  };
 }
index 55b2c07235688c0b9b5f1709b3a913ee5bccd110..ee74217318b08ac361f26d9961fd2aa29789f20f 100644 (file)
@@ -18,7 +18,7 @@ describe('RGW buckets page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Buckets');
+      expect(BucketsPage.getBreadcrumbText()).toEqual('Buckets');
     });
   });
 });
index a9eca3d41ab6d256942fd4e37c0848fa22676ea2..5341f7520c4ce8a4105c093b01e77b81bbfe63e4 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class BucketsPage {
-  navigateTo() {
-    return browser.get('/#/rgw/bucket');
-  }
+export class BucketsPage extends PageHelper {
+  pages = { index: '/#/rgw/bucket' };
 }
index b673f6a39eaff4d7addefdf992be439f7b9a167b..70553c9a06e44cfc35c89c07e0cb3802bd651e70 100644 (file)
@@ -18,19 +18,19 @@ describe('RGW daemons page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Daemons');
+      expect(DaemonsPage.getBreadcrumbText()).toEqual('Daemons');
     });
 
     it('should show two tabs', () => {
-      expect(Helper.getTabsCount()).toEqual(2);
+      expect(DaemonsPage.getTabsCount()).toEqual(2);
     });
 
     it('should show daemons list tab at first', () => {
-      expect(Helper.getTabText(0)).toEqual('Daemons List');
+      expect(DaemonsPage.getTabText(0)).toEqual('Daemons List');
     });
 
     it('should show overall performance as a second tab', () => {
-      expect(Helper.getTabText(1)).toEqual('Overall Performance');
+      expect(DaemonsPage.getTabText(1)).toEqual('Overall Performance');
     });
   });
 });
index d3fefabd2ba47bc963e8cc3fb46d35926909d540..0f6c8363a5e0cc26267f0c3a040490b8b3a327e8 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class DaemonsPage {
-  navigateTo() {
-    return browser.get('/#/rgw/daemon');
-  }
+export class DaemonsPage extends PageHelper {
+  pages = { index: '/#/rgw/daemon' };
 }
index 757f0969c429cc72db35142135708ef87e41e96e..3c6487acd869699967f6b63f00c39fbed5fa0b73 100644 (file)
@@ -18,7 +18,7 @@ describe('RGW users page', () => {
     });
 
     it('should open and show breadcrumb', () => {
-      expect(Helper.getBreadcrumbText()).toEqual('Users');
+      expect(UsersPage.getBreadcrumbText()).toEqual('Users');
     });
   });
 });
index 3f7f798c5e5069f4dcf19c686df14e6de83e279b..7c21688ccb01bc4bced4831100c058a76c37d4a7 100644 (file)
@@ -1,7 +1,5 @@
-import { browser } from 'protractor';
+import { PageHelper } from '../page-helper.po';
 
-export class UsersPage {
-  navigateTo() {
-    return browser.get('/#/rgw/user');
-  }
+export class UsersPage extends PageHelper {
+  pages = { index: '/#/rgw/user' };
 }