diff --git a/e2e/content-services/permissions_component.e2e.ts b/e2e/content-services/permissions_component.e2e.ts index 1fdef3f627..dadc150d84 100644 --- a/e2e/content-services/permissions_component.e2e.ts +++ b/e2e/content-services/permissions_component.e2e.ts @@ -25,6 +25,7 @@ import ContentListPage = require('../pages/adf/dialog/contentList'); import AlfrescoApi = require('alfresco-js-api-node'); import FileModel = require('../models/ACS/fileModel'); import { UploadActions } from '../actions/ACS/upload.actions'; +import Util = require('../util/util.js'); describe('Permissions Component', function () { @@ -40,19 +41,33 @@ describe('Permissions Component', function () { 'location': resources.Files.ADF_DOCUMENTS.TXT_0B.file_location }); - beforeAll(() => { + let groupBody = { + id: Util.generateRandomString(), + displayName: Util.generateRandomString() + }; + + let groupId; + + beforeAll(async (done) => { this.alfrescoJsApi = new AlfrescoApi({ provider: 'ECM', hostEcm: TestConfig.adf.url }); - }); - beforeEach(async (done) => { acsUser = new AcsUserModel(); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); + await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); + let group = await this.alfrescoJsApi.core.groupsApi.createGroup(groupBody); + + groupId = group.entry.id; + + done(); + }); + + beforeEach(async (done) => { await this.alfrescoJsApi.login(acsUser.id, acsUser.password); file = await uploadActions.uploadFile(this.alfrescoJsApi, fileModel.location, fileModel.name, '-my-'); @@ -69,6 +84,14 @@ describe('Permissions Component', function () { afterEach(async (done) => { await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, file.entry.id); + + done(); + }); + + afterAll(async (done) => { + await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); + + await this.alfrescoJsApi.core.groupsApi.deleteGroup(groupId); done(); }); @@ -81,4 +104,14 @@ describe('Permissions Component', function () { permissionsPage.checkResultListIsDisplayed(); }); + it('[C276979] Should be able to give permissions to a group of people', () => { + permissionsPage.checkAddPermissionButtonIsDisplayed(); + permissionsPage.clickAddPermissionButton(); + permissionsPage.checkAddPermissionDialogIsDisplayed(); + permissionsPage.checkSearchUserInputIsDisplayed(); + permissionsPage.searchUserOrGroup('GROUP_' + groupBody.id); + permissionsPage.clickUserOrGroup('GROUP_' + groupBody.id); + permissionsPage.checkUserOrGroupIsAdded('GROUP_' + groupBody.id); + }); + }); diff --git a/e2e/content-services/unshare_file.e2e.ts b/e2e/content-services/unshare_file.e2e.ts index 89712a5cd1..ec0b86fcad 100644 --- a/e2e/content-services/unshare_file.e2e.ts +++ b/e2e/content-services/unshare_file.e2e.ts @@ -29,7 +29,7 @@ import resources = require('../util/resources'); import AlfrescoApi = require('alfresco-js-api-node'); import { UploadActions } from '../actions/ACS/upload.actions'; -import { browser } from "protractor"; +import { browser } from 'protractor'; describe('Unshare file', () => { @@ -72,13 +72,13 @@ describe('Unshare file', () => { done(); }); - afterAll(async(done) =>{ + afterAll(async(done) => { await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, nodeId); done(); }); - it('[C280556] Unshared file should show 404 page', async()=> { + it('[C280556] Unshared file should show 404 page', async() => { contentListPage.clickRowToSelect(pngFileModel.name); contentServicesPage.clickShareButton(); diff --git a/e2e/pages/adf/core/headerPage.ts b/e2e/pages/adf/core/headerPage.ts index 5c73e72831..0c9400bcb5 100644 --- a/e2e/pages/adf/core/headerPage.ts +++ b/e2e/pages/adf/core/headerPage.ts @@ -130,4 +130,3 @@ export class HeaderPage { } } - diff --git a/e2e/pages/adf/dialog/shareDialog.ts b/e2e/pages/adf/dialog/shareDialog.ts index 60aa93dc11..7bdbe8c5d7 100644 --- a/e2e/pages/adf/dialog/shareDialog.ts +++ b/e2e/pages/adf/dialog/shareDialog.ts @@ -41,7 +41,7 @@ export class ShareDialog { } getShareLink() { - Util.waitUntilElementIsVisible(this.shareLink) + Util.waitUntilElementIsVisible(this.shareLink); return this.shareLink.getAttribute('value'); } diff --git a/e2e/pages/adf/permissionsPage.ts b/e2e/pages/adf/permissionsPage.ts index e9d81de4b4..6a93f05c13 100644 --- a/e2e/pages/adf/permissionsPage.ts +++ b/e2e/pages/adf/permissionsPage.ts @@ -25,6 +25,7 @@ export class PermissionsPage { addPermissionDialog = element(by.css('adf-add-permission-dialog')); searchUserInput = element(by.id('searchInput')); searchResults = element.all(by.id('adf-search-results-content')).first(); + addButton = element(by.id('add-permission-dialog-confirm-button')); checkAddPermissionButtonIsDisplayed() { Util.waitUntilElementIsVisible(this.addPermissionButton); @@ -52,4 +53,17 @@ export class PermissionsPage { Util.waitUntilElementIsVisible(this.searchResults); } + clickUserOrGroup(name) { + let userOrGroupName = element(by.cssContainingText('mat-list-option .mat-list-text', name)); + Util.waitUntilElementIsVisible(userOrGroupName); + userOrGroupName.click(); + Util.waitUntilElementIsVisible(this.addButton); + return this.addButton.click(); + } + + checkUserOrGroupIsAdded(name) { + let userOrGroupName = element(by.css('div[data-automation-id="text_' + name + '"]')); + Util.waitUntilElementIsVisible(userOrGroupName); + } + } diff --git a/package.json b/package.json index a6e196759e..4770ed8601 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "build-lib": "./scripts/ng-packagr.sh", "bundlesize-check": "bundlesize", "lint-lib": "./node_modules/.bin/tslint -p ./lib/tsconfig.json -c ./lib/tslint.json", - "lint-e2e": "./node_modules/.bin/tslint --fix -p ./e2e/tsconfig.e2e.json -c ./tslint.json", + "lint-e2e": "./node_modules/.bin/tslint -p ./e2e/tsconfig.e2e.json -c ./tslint.json", "test-export": "ts-node ./tools/export-check/exportCheck.ts ./lib/core/public-api.ts ./lib/process-services/public-api.ts ./lib/content-services/public-api.ts ./lib/insights/public-api.ts", "ng": "ng", "validate-config": "ajv validate -s ./lib/core/app-config/schema.json -d ./demo-shell/src/app.config.json --errors=text --verbose", diff --git a/scripts/lint.sh b/scripts/lint.sh index 0c163c6ca0..f05f9b8b74 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -9,8 +9,8 @@ npm run lint-lib || exit 1 echo "====== lint E2E =====" -npm run lint-e2e +npm run lint-e2e || exit 1 echo "====== lint Demo shell =====" -ng lint dev --fix +ng lint dev || exit 1