1 import { by, element } from 'protractor';
2 import { PageHelper } from '../page-helper.po';
4 export class RoleMgmtPageHelper extends PageHelper {
6 index: '/#/user-management/roles',
7 create: '/#/user-management/roles/create'
10 async create(name: string, description: string): Promise<void> {
11 await this.navigateTo('create');
14 await element(by.id('name')).sendKeys(name);
15 await element(by.id('description')).sendKeys(description);
17 // Click the create button and wait for role to be made
18 const createButton = element(by.cssContainingText('button', 'Create Role'));
19 await createButton.click();
21 await this.waitPresence(this.getFirstTableCellWithText(name));
24 async edit(name: string, description: string): Promise<void> {
25 await this.navigateTo();
27 await this.getFirstTableCellWithText(name).click(); // select role from table
28 await element(by.cssContainingText('button', 'Edit')).click(); // click button to move to edit page
30 // fill in fields with new values
31 await element(by.id('description')).clear();
32 await element(by.id('description')).sendKeys(description);
34 // Click the edit button and check new values are present in table
35 const editButton = element(by.cssContainingText('button', 'Edit Role'));
36 await editButton.click();
38 await this.waitPresence(this.getFirstTableCellWithText(name));
39 await this.waitPresence(this.getFirstTableCellWithText(description));