hosts = new Helper().hosts;
});
- afterEach(() => {
- Helper.checkConsole();
+ afterEach(async () => {
+ await Helper.checkConsole();
});
describe('breadcrumb and tab tests', () => {
- beforeAll(() => {
- hosts.navigateTo();
+ beforeAll(async () => {
+ await hosts.navigateTo();
});
- it('should open and show breadcrumb', () => {
- expect(hosts.getBreadcrumbText()).toEqual('Hosts');
+ it('should open and show breadcrumb', async () => {
+ expect(await hosts.getBreadcrumbText()).toEqual('Hosts');
});
- it('should show two tabs', () => {
- expect(hosts.getTabsCount()).toEqual(2);
+ it('should show two tabs', async () => {
+ expect(await hosts.getTabsCount()).toEqual(2);
});
- it('should show hosts list tab at first', () => {
- expect(hosts.getTabText(0)).toEqual('Hosts List');
+ it('should show hosts list tab at first', async () => {
+ expect(await hosts.getTabText(0)).toEqual('Hosts List');
});
- it('should show overall performance as a second tab', () => {
- expect(hosts.getTabText(1)).toEqual('Overall Performance');
+ it('should show overall performance as a second tab', async () => {
+ expect(await hosts.getTabText(1)).toEqual('Overall Performance');
});
});
describe('services link test', () => {
- it('should check at least one host is present', () => {
- hosts.check_for_host();
+ it('should check at least one host is present', async () => {
+ await hosts.check_for_host();
});
- it('should check services link(s) work for first host', () => {
- hosts.check_services_links();
+ it('should check services link(s) work for first host', async () => {
+ await hosts.check_services_links();
});
});
});
export class HostsPageHelper extends PageHelper {
pages = { index: '/#/hosts' };
- check_for_host() {
- this.navigateTo();
+ async check_for_host() {
+ await this.navigateTo();
- this.getTableCount()
- .getText()
- .then((hostcount) => {
- expect(hostcount.includes('0 total')).toBe(false);
- });
+ const hostcount = await this.getTableCount().getText();
+ expect(await hostcount.includes('0 total')).toBe(false);
}
// function that checks all services links work for first
// host in table
- check_services_links() {
- this.navigateTo();
+ async check_services_links() {
+ await this.navigateTo();
let links_tested = 0;
// grab services column for first host
const services = element.all(by.css('.datatable-body-cell')).get(1);
// check is any services links are present
- services
- .getText()
- .then((txt) => {
- // check that text (links) is present in services box
- expect(txt.length).toBeGreaterThan(0, 'No services links exist on first host');
- if (txt.length === 0) {
- return;
- }
- const links = services.all(by.css('a.ng-star-inserted'));
- links.count().then((num_links) => {
- for (let i = 0; i < num_links; i++) {
- // click link, check it worked by looking for changed breadcrumb,
- // navigate back to hosts page, repeat until all links checked
- links.get(i).click();
- expect(this.getBreadcrumbText()).toEqual('Performance Counters');
- this.navigateTo();
- expect(this.getBreadcrumbText()).toEqual('Hosts');
- links_tested++;
- }
- });
- })
- .then(() => {
- // check if any links were actually tested
- expect(links_tested > 0).toBe(true, 'No links were tested. Test failed');
- });
+ const txt = await services.getText();
+ // check that text (links) is present in services box
+ expect(txt.length).toBeGreaterThan(0, 'No services links exist on first host');
+ if (txt.length === 0) {
+ return;
+ }
+ const links = services.all(by.css('a.service-link'));
+ const num_links = await links.count();
+ for (let i = 0; i < num_links; i++) {
+ // click link, check it worked by looking for changed breadcrumb,
+ // navigate back to hosts page, repeat until all links checked
+ await links.get(i).click();
+ expect(await this.getBreadcrumbText()).toEqual('Performance Counters');
+ await this.navigateTo();
+ expect(await this.getBreadcrumbText()).toEqual('Hosts');
+ links_tested++;
+ }
+ // check if any links were actually tested
+ expect(links_tested > 0).toBe(true, 'No links were tested. Test failed');
}
}
import { browser } from 'protractor';
import { Logs } from 'selenium-webdriver';
import { ImagesPageHelper } from './block/images.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';
monitors: MonitorsPageHelper;
mgrModules: ManagerModulesPageHelper;
logs: LogsPageHelper;
+ hosts: HostsPageHelper;
constructor() {
this.pools = new PoolPageHelper();
this.monitors = new MonitorsPageHelper();
this.mgrModules = new ManagerModulesPageHelper();
this.logs = new LogsPageHelper();
+ this.hosts = new HostsPageHelper();
}
/**
(updateSelection)="updateSelection($event)">
<ng-template #servicesTpl let-value="value">
<span *ngFor="let service of value; last as isLast">
- <a [routerLink]="[service.cdLink]"
+ <a class="service-link"
+ [routerLink]="[service.cdLink]"
[queryParams]="cdParams"
*ngIf="service.canRead">{{ service.type }}.{{ service.id }}
</a>