From 2a2708e5d69b5b6925ac27fe639ab7fd84ee7cd1 Mon Sep 17 00:00:00 2001 From: gmandakini <45559635+gmandakini@users.noreply.github.com> Date: Mon, 18 Feb 2019 18:36:42 +0000 Subject: [PATCH] [ADF-4095] Test Inherit Permission (#4325) * in progress * in progress * ADF-4012 pull request ready * crc's * crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common. * crc's - moved the methods ProcessListCloudComponent to dataTablePage, to keep it common. * changed the locator to use data-automation-id * linting fix * test automated - C268974 * test automated - C268974 * crc's * crc's * crc's --- .../permissions-component.e2e.ts | 14 ++++++++++ e2e/pages/adf/permissionsPage.ts | 26 +++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/e2e/content-services/permissions-component.e2e.ts b/e2e/content-services/permissions-component.e2e.ts index 39ba45a101..554beaab56 100644 --- a/e2e/content-services/permissions-component.e2e.ts +++ b/e2e/content-services/permissions-component.e2e.ts @@ -25,6 +25,7 @@ import { ContentListPage } from '../pages/adf/dialog/contentListPage'; import AlfrescoApi = require('alfresco-js-api-node'); import { FileModel } from '../models/ACS/fileModel'; import { UploadActions } from '../actions/ACS/upload.actions'; +import { DataTablePage } from '../pages/adf/dataTablePage'; import { Util } from '../util/util'; import { browser } from 'protractor'; @@ -35,6 +36,7 @@ describe('Permissions Component', function () { let permissionsPage = new PermissionsPage(); let uploadActions = new UploadActions(); let contentList = new ContentListPage(); + let dataTablePage = new DataTablePage(); let acsUser, file; let fileModel = new FileModel({ @@ -117,4 +119,16 @@ describe('Permissions Component', function () { permissionsPage.checkUserOrGroupIsAdded('GROUP_' + groupBody.id); }); + it('[C268974] Inherit Permission', () => { + permissionsPage.checkPermissionInheritedButtonIsDisplayed(); + expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited'); + permissionsPage.checkPermissionsDatatableIsDisplayed(); + permissionsPage.clickPermissionInheritedButton(); + expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Inherit Permission'); + permissionsPage.checkNoPermissionsIsDisplayed(); + permissionsPage.clickPermissionInheritedButton(); + expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited'); + permissionsPage.checkPermissionsDatatableIsDisplayed(); + }); + }); diff --git a/e2e/pages/adf/permissionsPage.ts b/e2e/pages/adf/permissionsPage.ts index c689a5ed59..2bc404fd86 100644 --- a/e2e/pages/adf/permissionsPage.ts +++ b/e2e/pages/adf/permissionsPage.ts @@ -18,6 +18,7 @@ import { element, by } from 'protractor'; import { Util } from '../../util/util'; +import { DataTablePage } from './dataTablePage'; export class PermissionsPage { @@ -26,6 +27,9 @@ export class PermissionsPage { searchUserInput = element(by.id('searchInput')); searchResults = element.all(by.id('adf-search-results-content')).first(); addButton = element(by.id('add-permission-dialog-confirm-button')); + permissionInheritedButton = element.all(by.css("div[class='adf-inherit_permission_button'] button")).first(); + permissionInheritedButtonText = this.permissionInheritedButton.element(by.css('span')); + noPermissions = element(by.css('div[id="adf-no-permissions-template"]')); checkAddPermissionButtonIsDisplayed() { Util.waitUntilElementIsVisible(this.addPermissionButton); @@ -66,4 +70,26 @@ export class PermissionsPage { Util.waitUntilElementIsVisible(userOrGroupName); } + checkPermissionInheritedButtonIsDisplayed() { + Util.waitUntilElementIsVisible(this.permissionInheritedButton); + } + + clickPermissionInheritedButton() { + Util.waitUntilElementIsClickable(this.permissionInheritedButton); + return this.permissionInheritedButton.click(); + } + + checkNoPermissionsIsDisplayed() { + Util.waitUntilElementIsVisible(this.noPermissions); + } + + getPermissionInheritedButtonText() { + Util.waitUntilElementIsClickable(this.permissionInheritedButton); + return this.permissionInheritedButtonText.getText(); + } + + checkPermissionsDatatableIsDisplayed() { + return new DataTablePage(element(by.css('[class*="adf-datatable-permission"]'))); + } + }