]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | import { PageHelper } from '../page-helper.po'; |
2 | ||
3 | export class NavigationPageHelper extends PageHelper { | |
4 | pages = { | |
5 | index: { url: '#/dashboard', id: 'cd-dashboard' } | |
6 | }; | |
7 | ||
8 | navigations = [ | |
9 | { menu: 'NFS', component: 'cd-error' }, | |
10 | { | |
11 | menu: 'Object Gateway', | |
12 | submenus: [ | |
13 | { menu: 'Daemons', component: 'cd-rgw-daemon-list' }, | |
14 | { menu: 'Users', component: 'cd-rgw-user-list' }, | |
15 | { menu: 'Buckets', component: 'cd-rgw-bucket-list' } | |
16 | ] | |
17 | }, | |
18 | { menu: 'Dashboard', component: 'cd-dashboard' }, | |
19 | { | |
20 | menu: 'Cluster', | |
21 | submenus: [ | |
22 | { menu: 'Hosts', component: 'cd-hosts' }, | |
23 | { menu: 'Inventory', component: 'cd-error' }, | |
24 | { menu: 'Monitors', component: 'cd-monitor' }, | |
25 | { menu: 'Services', component: 'cd-error' }, | |
26 | { menu: 'OSDs', component: 'cd-osd-list' }, | |
27 | { menu: 'Configuration', component: 'cd-configuration' }, | |
28 | { menu: 'CRUSH map', component: 'cd-crushmap' }, | |
29 | { menu: 'Manager Modules', component: 'cd-mgr-module-list' }, | |
30 | { menu: 'Logs', component: 'cd-logs' }, | |
31 | { menu: 'Monitoring', component: 'cd-prometheus-tabs' } | |
32 | ] | |
33 | }, | |
34 | { menu: 'Pools', component: 'cd-pool-list' }, | |
35 | { | |
36 | menu: 'Block', | |
37 | submenus: [ | |
38 | { menu: 'Images', component: 'cd-rbd-list' }, | |
39 | { menu: 'Mirroring', component: 'cd-mirroring' }, | |
40 | { menu: 'iSCSI', component: 'cd-iscsi' } | |
41 | ] | |
42 | }, | |
b3b6e05e | 43 | { menu: 'File Systems', component: 'cd-cephfs-list' } |
f67539c2 TL |
44 | ]; |
45 | ||
46 | getVerticalMenu() { | |
47 | return cy.get('ul.cd-navbar-primary'); | |
48 | } | |
49 | ||
50 | getMenuToggler() { | |
51 | return cy.get('cd-navigation > div.cd-navbar-top button.btn.btn-link'); | |
52 | } | |
53 | ||
54 | checkNavigations(navs: any) { | |
55 | // The nfs-ganesha and RGW status requests are mocked to ensure that this method runs in time | |
56 | cy.server(); | |
57 | cy.route('/api/nfs-ganesha/status', 'fixture:nfs-ganesha-status'); | |
58 | cy.route('/api/rgw/status', 'fixture:rgw-status'); | |
59 | ||
60 | navs.forEach((nav: any) => { | |
61 | cy.contains('.simplebar-content li.nav-item a', nav.menu).click(); | |
62 | if (nav.submenus) { | |
63 | this.checkNavigations(nav.submenus); | |
64 | } else { | |
65 | cy.get(nav.component).should('exist'); | |
66 | } | |
67 | }); | |
68 | } | |
69 | } |