mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[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:
@@ -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);
|
||||
};
|
||||
});
|
||||
|
Reference in New Issue
Block a user