[ADF-4105] Role Site Dropdown is Displayed (#4356)

* in progress

* C277002 - Role Site Dropdown automated.

* C277002 - Role Site Dropdown automated.

* async updates

* async updates

* in progress

* fixed errors

* Fixing tests

* fixed errors
This commit is contained in:
gmandakini 2019-02-28 09:38:09 +00:00 committed by Eugenio Romano
parent 596e801283
commit 00ba61cdea
4 changed files with 75 additions and 11 deletions

View File

@ -36,6 +36,7 @@ describe('Permissions Component', function () {
let uploadActions = new UploadActions();
let contentList = new ContentListPage();
let fileOwnerUser, filePermissionUser, file;
let publicSite, folderName;
let fileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
@ -61,23 +62,23 @@ describe('Permissions Component', function () {
beforeAll(async (done) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.peopleApi.addPerson(fileOwnerUser);
await alfrescoJsApi.core.peopleApi.addPerson(filePermissionUser);
let group = await alfrescoJsApi.core.groupsApi.createGroup(groupBody);
groupId = group.entry.id;
browser.driver.sleep(15000); // wait search get the groups
await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password);
let siteName = `PUBLIC_TEST_SITE_${Util.generateRandomString(5)}`;
folderName = `MEESEEKS_${Util.generateRandomString(5)}`;
let publicSiteBody = { visibility: 'PUBLIC', title: siteName };
publicSite = await alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
await uploadActions.createFolder(alfrescoJsApi, folderName, publicSite.entry.guid);
done();
});
afterAll(async (done) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
await alfrescoJsApi.core.groupsApi.deleteGroup(groupId);
done();
});
@ -91,8 +92,8 @@ describe('Permissions Component', function () {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.rightClickOnRowNamed(fileModel.name);
contentList.pressContextMenuActionNamed('Permission');
@ -101,7 +102,6 @@ describe('Permissions Component', function () {
afterEach(async (done) => {
await uploadActions.deleteFilesOrFolder(alfrescoJsApi, file.entry.id);
done();
});
@ -125,6 +125,7 @@ describe('Permissions Component', function () {
});
it('[C268974] Inherit Permission', () => {
permissionsPage.checkPermissionContainerIsDisplayed();
permissionsPage.checkPermissionInheritedButtonIsDisplayed();
expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited');
permissionsPage.checkPermissionsDatatableIsDisplayed();
@ -148,8 +149,9 @@ describe('Permissions Component', function () {
contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name);
contentList.rightClickOnRowNamed(fileModel.name);
contentList.pressContextMenuActionNamed('Permission');
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(fileModel.name);
contentList.clickMenuActionNamed('PERMISSION');
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
@ -210,4 +212,37 @@ describe('Permissions Component', function () {
});
describe('Role Site Dropdown', function () {
beforeEach(async (done) => {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
browser.get(TestConfig.adf.url + '/files/' + publicSite.entry.guid);
contentList.checkContentIsDisplayed(folderName);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(folderName);
contentList.clickMenuActionNamed('PERMISSION');
permissionsPage.checkPermissionInheritedButtonIsDisplayed();
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
permissionsPage.checkSearchUserInputIsDisplayed();
permissionsPage.searchUserOrGroup(filePermissionUser.getId());
permissionsPage.clickUserOrGroup(filePermissionUser.getFirstName());
permissionsPage.checkUserOrGroupIsAdded(filePermissionUser.getId());
done();
});
it('[C277002] Should display the Role Site dropdown', () => {
expect(permissionsPage.getRoleCellValue(filePermissionUser.getId())).toEqual('SiteCollaborator');
permissionsPage.clickRoleDropdown();
expect(permissionsPage.getRoleDropdownOptions().count()).toBe(4);
expect(permissionsPage.getRoleDropdownOptions().get(0).getText()).toBe('SiteCollaborator');
expect(permissionsPage.getRoleDropdownOptions().get(1).getText()).toBe('SiteConsumer');
expect(permissionsPage.getRoleDropdownOptions().get(2).getText()).toBe('SiteContributor');
expect(permissionsPage.getRoleDropdownOptions().get(3).getText()).toBe('SiteManager');
});
});
});

View File

@ -66,6 +66,7 @@ export class ContentServicesPage {
copyButton = element(by.css('button[data-automation-id="content-node-selector-actions-choose"]'));
searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"]'));
shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
siteListDropdown = element(by.css(`mat-select[data-automation-id='site-my-files-select']`));
getUploadAreaDocumentList() {
return new ContentListPage(element(by.css('adf-upload-drag-area')));
@ -691,4 +692,8 @@ export class ContentServicesPage {
Util.waitUntilElementIsClickable(this.shareNodeButton);
this.shareNodeButton.click();
}
checkSelectedSiteIsDisplayed(siteName) {
Util.waitUntilElementIsVisible(this.siteListDropdown.element(by.cssContainingText('.mat-select-value-text span', siteName)));
}
}

View File

@ -443,4 +443,23 @@ export class ContentListPage {
browser.actions().click(row, protractor.Button.RIGHT).perform();
Util.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
}
clickMenuActionNamed(actionName) {
let actionButton = this.checkMenuActionIsVisible(actionName);
actionButton.click();
}
checkMenuActionIsVisible(actionName) {
let actionButton = element(by.css(`button[data-automation-id='DOCUMENT_LIST.ACTIONS.${actionName}']`));
Util.waitUntilElementIsVisible(actionButton);
Util.waitUntilElementIsClickable(actionButton);
return actionButton;
}
clickRowMenuActionsButton(rowName) {
let row = this.getRowByRowName(rowName);
Util.waitUntilElementIsVisible(row.element(by.css('.adf-datatable__actions-cell button')));
row.element(by.css('.adf-datatable__actions-cell button')).click();
}
}

View File

@ -38,6 +38,7 @@ export class PermissionsPage {
roleDropdownOptions = element.all(by.css('.mat-option-text'));
assignPermissionError = element(by.css('simple-snack-bar'));
deletePermissionButton = element(by.css(`button[data-automation-id='adf-delete-permission-button']`));
permissionDisplayContainer = element(by.css(`div[id='adf-permission-display-container']`));
checkAddPermissionButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionButton);
@ -138,4 +139,8 @@ export class PermissionsPage {
Util.waitUntilElementIsVisible(this.assignPermissionError);
return this.assignPermissionError.getText();
}
checkPermissionContainerIsDisplayed() {
Util.waitUntilElementIsVisible(this.permissionDisplayContainer);
}
}