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