[ACS-259] refactor login page (#5733)

* refator login page

* refator login page

* remove obsolete classes and move what is needed in the test pck

* fix const

* revert modify

* remove duplicate browser property

* fix build

* fix

* fix

* fix lint

* move drop action in testing
remove not necessary space
js-api centralize content

* first refactor use js-api

* fix protractor

* refactor test config

* simplify properties
fix namings

* ps cloud simplify
remove unused js files

* id fix

* fix search test
simplify environment var step 1

* fix lint

* first user iteration fix

* fix model

* unify use of apiService

* first step automatic user creation Identity

* refactor creation user content-services

* refactor creation user search

* refactor creation user core

* process service refactoring 1

* process service refactoring 1

* process service refactoring 2

* fix process

* appconfig

* fix process util

* fix gallery

* fix "this" reference issues

* fix incorrect import paths

* fix core

* some fixes

* allign

* fix some test
remove structure folder and move in actions

* fixes

* move folders in the right place

* fix

* fix rebase

* solve build issue

* fix e2e

* change init aae

* order api and some fixes

* fix possible not valid password

* fix some ps test

* replace host port also in objects

* Update app-config.service.ts

* fix process

* fix process test

* process service cloud fix

* fiexs

* modify init script

* fix two test

* remove unused property

* host issue

* not use npx

* fix ps cloud test

Co-authored-by: Denys Vuika <denys.vuika@gmail.com>
This commit is contained in:
Eugenio Romano
2020-06-04 14:41:30 +01:00
committed by GitHub
parent f0df6b3a5f
commit a78f24ada1
297 changed files with 5130 additions and 9622 deletions

View File

@@ -16,29 +16,33 @@
*/
import { ContentServicesPage } from '../../pages/adf/content-services.page';
import { AcsUserModel } from '../../models/ACS/acs-user.model';
import { FileModel } from '../../models/ACS/file.model';
import { BrowserActions, LoginPage, UploadActions, PaginationPage, StringUtil, PermissionActions } from '@alfresco/adf-testing';
import {
BrowserActions,
LoginSSOPage,
UploadActions,
PaginationPage,
StringUtil,
PermissionActions,
ApiService, UserModel
} from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { FolderModel } from '../../models/ACS/folder.model';
import { UsersActions } from '../../actions/users.actions';
describe('Delete Directive', () => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: browser.params.testConfig.adf_acs.host
});
const loginPage = new LoginPage();
const apiService = new ApiService();
const loginPage = new LoginSSOPage();
const contentServicesPage = new ContentServicesPage();
const paginationPage = new PaginationPage();
const contentListPage = contentServicesPage.getDocumentList();
const acsUser = new AcsUserModel();
const secondAcsUser = new AcsUserModel();
const uploadActions = new UploadActions(this.alfrescoJsApi);
const permissionActions = new PermissionActions(this.alfrescoJsApi);
const acsUser = new UserModel();
const secondAcsUser = new UserModel();
const uploadActions = new UploadActions(apiService);
const permissionActions = new PermissionActions(apiService);
let baseFolderUploaded;
const usersActions = new UsersActions(apiService);
const txtFileModel = new FileModel({
name: browser.params.resources.Files.ADF_DOCUMENTS.TXT.file_name,
@@ -86,10 +90,10 @@ describe('Delete Directive', () => {
});
beforeAll(async () => {
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
await this.alfrescoJsApi.core.peopleApi.addPerson(secondAcsUser);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
await usersActions.createUser(acsUser);
await usersActions.createUser(secondAcsUser);
await apiService.getInstance().login(acsUser.email, acsUser.password);
});
beforeEach(async () => {
@@ -104,7 +108,6 @@ describe('Delete Directive', () => {
});
describe('Handling multiselection', () => {
beforeEach(async () => {
await uploadActions.uploadFile(txtFileModel.location, txtFileModel.name, baseFolderUploaded.entry.id);
await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, baseFolderUploaded.entry.id);
@@ -113,7 +116,7 @@ describe('Delete Directive', () => {
await uploadActions.uploadFile(pdfFileModel.location, pdfFileModel.name, textFolderUploaded.entry.id);
await uploadActions.createFolder(folderSecond.name, baseFolderUploaded.entry.id);
await loginPage.loginToContentServicesUsingUserModel(acsUser);
await loginPage.login(acsUser.email, acsUser.password);
await BrowserActions.getUrl(`${browser.baseUrl}/files/${baseFolderUploaded.entry.id}`);
await contentServicesPage.waitForTableBody();
});
@@ -178,7 +181,6 @@ describe('Delete Directive', () => {
});
describe('When selection on multiple pages', () => {
beforeEach(async () => {
await uploadActions.uploadFile( txtFileModel.location, txtFileModel.name, baseFolderUploaded.entry.id);
await uploadActions.uploadFile(file0BytesModel.location, file0BytesModel.name, baseFolderUploaded.entry.id);
@@ -187,7 +189,7 @@ describe('Delete Directive', () => {
await uploadActions.uploadFile(pngFileModel.location, pngFileModel.name, baseFolderUploaded.entry.id);
await uploadActions.uploadFile(secondPngFileModel.location, secondPngFileModel.name, baseFolderUploaded.entry.id);
await loginPage.loginToContentServicesUsingUserModel(acsUser);
await loginPage.login(acsUser.email, acsUser.password);
await BrowserActions.getUrl(`${browser.baseUrl}/files/${baseFolderUploaded.entry.id}`);
await contentServicesPage.waitForTableBody();
});
@@ -205,22 +207,20 @@ describe('Delete Directive', () => {
await contentListPage.dataTable.checkContentIsNotDisplayed('Display name', file0BytesModel.name);
await contentListPage.dataTable.checkContentIsDisplayed('Display name', txtFileModel.name);
});
});
describe('when user does not have `delete` permission', () => {
let createdSite = null;
let fileTxt, filePdf, folderA, folderB;
beforeAll(async () => {
createdSite = await this.alfrescoJsApi.core.sitesApi.createSite({
createdSite = await apiService.getInstance().core.sitesApi.createSite({
title: StringUtil.generateRandomString(20).toLowerCase(),
visibility: 'PRIVATE'
});
await this.alfrescoJsApi.core.sitesApi.addSiteMember(createdSite.entry.id, {
id: secondAcsUser.id,
await apiService.getInstance().core.sitesApi.addSiteMember(createdSite.entry.id, {
id: secondAcsUser.email,
role: 'SiteCollaborator'
});
@@ -229,24 +229,24 @@ describe('Delete Directive', () => {
folderA = await uploadActions.createFolder(StringUtil.generateRandomString(5), createdSite.entry.guid);
folderB = await uploadActions.createFolder(StringUtil.generateRandomString(5), createdSite.entry.guid);
await permissionActions.addRoleForUser(secondAcsUser.getId(), 'SiteManager', folderA);
await permissionActions.addRoleForUser(secondAcsUser.getId(), 'SiteManager', fileTxt);
await permissionActions.addRoleForUser(secondAcsUser.getId(), 'SiteConsumer', folderB);
await permissionActions.addRoleForUser(secondAcsUser.getId(), 'SiteConsumer', filePdf);
await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteManager', folderA);
await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteManager', fileTxt);
await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteConsumer', folderB);
await permissionActions.addRoleForUser(secondAcsUser.email, 'SiteConsumer', filePdf);
await permissionActions.disableInheritedPermissionsForNode(folderA.entry.id);
await permissionActions.disableInheritedPermissionsForNode(folderB.entry.id);
await permissionActions.disableInheritedPermissionsForNode(fileTxt.entry.id);
await permissionActions.disableInheritedPermissionsForNode(filePdf.entry.id);
await loginPage.loginToContentServicesUsingUserModel(secondAcsUser);
await loginPage.login(secondAcsUser.email, secondAcsUser.password);
await BrowserActions.getUrl(`${browser.baseUrl}/files/${createdSite.entry.guid}`);
await contentServicesPage.waitForTableBody();
});
afterAll(async () => {
try {
await this.alfrescoJsApi.core.sitesApi.deleteSite(createdSite.entry.id, { permanent: true });
await apiService.getInstance().core.sitesApi.deleteSite(createdSite.entry.id, { permanent: true });
} catch (error) {}
});