[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

@@ -15,22 +15,27 @@
* limitations under the License.
*/
import { LoginPage, UserInfoPage } from '@alfresco/adf-testing';
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { PeopleApi } from '@alfresco/js-api';
import { ApiService, LocalStorageUtil, LoginSSOPage, UserInfoPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { UsersActions } from '../actions/users.actions';
import { AcsUserModel } from '../models/ACS/acs-user.model';
import { FileModel } from '../models/ACS/file.model';
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
import PeopleAPI = require('../restAPI/ACS/PeopleAPI');
import path = require('path');
import fs = require('fs');
describe('User Info component', () => {
const loginPage = new LoginPage();
const loginPage = new LoginSSOPage();
const userInfoPage = new UserInfoPage();
let processUserModel, contentUserModel;
const navigationBarPage = new NavigationBarPage();
const apiService = new ApiService();
const usersActions = new UsersActions(apiService);
const peopleApi: PeopleApi = new PeopleApi(apiService.getInstance());
let user;
const acsAvatarFileModel = new FileModel({
'name': browser.params.resources.Files.PROFILE_IMAGES.ECM.file_name,
'location': browser.params.resources.Files.PROFILE_IMAGES.ECM.file_location
@@ -41,43 +46,25 @@ describe('User Info component', () => {
});
beforeAll(async () => {
const users = new UsersActions();
await apiService.getInstance().login(browser.params.testConfig.admin.email, browser.params.testConfig.admin.password);
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ALL',
hostEcm: browser.params.testConfig.adf_acs.host,
hostBpm: browser.params.testConfig.adf_aps.host
});
await this.alfrescoJsApi.login(browser.params.testConfig.adf.adminEmail, browser.params.testConfig.adf.adminPassword);
processUserModel = await users.createTenantAndUser(this.alfrescoJsApi);
contentUserModel = new AcsUserModel({
'id': processUserModel.email,
'password': processUserModel.password,
'firstName': processUserModel.firstName,
'lastName': processUserModel.lastName,
'email': processUserModel.email
});
await this.alfrescoJsApi.core.peopleApi.addPerson(contentUserModel);
});
user = await usersActions.createUser();
});
afterAll(async () => {
await navigationBarPage.clickLogoutButton();
});
it('[C260111] Should display UserInfo when Process Services and Content Services are enabled', async () => {
await loginPage.loginToAllUsingUserModel(contentUserModel);
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
await userInfoPage.dialogIsDisplayed();
await userInfoPage.checkContentServicesTabIsSelected();
await expect(await userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
await expect(await userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
await expect(await userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
await expect(await userInfoPage.getContentHeaderTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getContentTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getContentEmail()).toEqual(user.email);
await expect(await userInfoPage.getContentJobTitle()).toEqual('N/A');
await userInfoPage.checkInitialImage();
@@ -89,22 +76,22 @@ describe('User Info component', () => {
await browser.sleep(1000);
await expect(await userInfoPage.getProcessHeaderTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
await expect(await userInfoPage.getProcessTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
await expect(await userInfoPage.getProcessEmail()).toEqual(processUserModel.email);
await expect(await userInfoPage.getProcessHeaderTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getProcessTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getProcessEmail()).toEqual(user.email);
await userInfoPage.closeUserProfile();
});
it('[C260113] Should display UserInfo when Content Services is enabled and Process Services is disabled', async () => {
await loginPage.loginToContentServicesUsingUserModel(contentUserModel);
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
await userInfoPage.dialogIsDisplayed();
await expect(await userInfoPage.getContentHeaderTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
await expect(await userInfoPage.getContentTitle()).toEqual(contentUserModel.firstName + ' ' + contentUserModel.lastName);
await expect(await userInfoPage.getContentEmail()).toEqual(contentUserModel.email);
await expect(await userInfoPage.getContentHeaderTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getContentTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getContentEmail()).toEqual(user.email);
await expect(await userInfoPage.getContentJobTitle()).toEqual('N/A');
await userInfoPage.checkInitialImage();
@@ -115,15 +102,17 @@ describe('User Info component', () => {
});
it('[C260115] Should display UserInfo when Process Services is enabled and Content Services is disabled', async () => {
await loginPage.loginToProcessServicesUsingUserModel(contentUserModel);
await LocalStorageUtil.setStorageItem('providers', 'BPM');
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
await userInfoPage.dialogIsDisplayed();
await expect(await userInfoPage.getProcessHeaderTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
await expect(await userInfoPage.getProcessTitle()).toEqual(processUserModel.firstName + ' ' + processUserModel.lastName);
await expect(await userInfoPage.getProcessEmail()).toEqual(processUserModel.email);
await expect(await userInfoPage.getProcessHeaderTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getProcessTitle()).toEqual(user.firstName + ' ' + user.lastName);
await expect(await userInfoPage.getProcessEmail()).toEqual(user.email);
await userInfoPage.checkInitialImage();
await userInfoPage.APSProfileImageNotDisplayed();
@@ -132,11 +121,11 @@ describe('User Info component', () => {
});
it('[C260117] Should display UserInfo with profile image uploaded in ACS', async () => {
await PeopleAPI.updateAvatarViaAPI(contentUserModel, acsAvatarFileModel, '-me-');
await PeopleAPI.getAvatarViaAPI(4, contentUserModel, '-me-', async() => {
});
await LocalStorageUtil.setStorageItem('providers', 'ECM');
await loginPage.loginToContentServicesUsingUserModel(contentUserModel);
await updateAvatarACS();
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
@@ -146,11 +135,13 @@ describe('User Info component', () => {
});
it('[C260118] Should display UserInfo with profile image uploaded in APS', async () => {
const users = new UsersActions();
await this.alfrescoJsApi.login(contentUserModel.email, contentUserModel.password);
await users.changeProfilePictureAps(this.alfrescoJsApi, apsAvatarFileModel.getLocation());
await LocalStorageUtil.setStorageItem('providers', 'BPM');
await loginPage.loginToProcessServicesUsingUserModel(contentUserModel);
const users = new UsersActions(apiService);
await apiService.getInstance().login(user.email, user.password);
await users.changeProfilePictureAps(apsAvatarFileModel.getLocation());
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
@@ -161,15 +152,23 @@ describe('User Info component', () => {
});
it('[C260120] Should not display profile image in UserInfo when deleted in ACS', async () => {
await PeopleAPI.deleteAvatarViaAPI(contentUserModel, '-me-');
await LocalStorageUtil.setStorageItem('providers', 'ECM');
await loginPage.loginToContentServicesUsingUserModel(contentUserModel);
await peopleApi.deleteAvatarImage(user.email);
await loginPage.login(user.email, user.password);
await userInfoPage.clickUserProfile();
await userInfoPage.checkInitialImage();
await userInfoPage.APSProfileImageNotDisplayed();
await userInfoPage.ACSProfileImageNotDisplayed();
await userInfoPage.closeUserProfile();
});
const updateAvatarACS = async function () {
await apiService.getInstance().login(user.email, user.password);
const absolutePath = path.resolve(path.join(browser.params.testConfig.main.rootPath, acsAvatarFileModel.getLocation()));
const file: any = fs.readFileSync(absolutePath);
await peopleApi.updateAvatarImage('-me-', file);
};
});