[NO-ISSUE] Fix e2e test (#4621)

* fix sso, change timeout, parallel

* cange travis

* move name apps in resources file

* resources fix

* resources fix

* add sleep before search group

* add possibility to extend duration of snack-bar message from configuration

* fix unit test

* fix unit test

* remove timeout

* change timeout

* decrease message time

* add lint main branch travis

* reduce timeout

* add new check application presence

* change permission script
fix search selector

* fix travis conf

* check app environment and upload the app if abbsent

* fix cloud test

* remove duplicate

* restore ps test

* restore resources file

* fix e2e test

* process with variables missing

* test new conf travis

* fix lint

* fix spellcheck

* remove duplicate module

* fix ps module

* fix travis conf

* change check activiti env

* add concept of processes in resources
This commit is contained in:
Eugenio Romano
2019-04-18 13:31:42 +02:00
committed by GitHub
parent 181cee72d6
commit 64be9e3624
58 changed files with 627 additions and 391 deletions
@@ -91,12 +91,11 @@ describe('Document List Component - Actions', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
browser.driver.sleep(15000);
browser.driver.sleep(10000);
done();
});
beforeEach(async (done) => {
navigationBarPage.clickAboutButton();
navigationBarPage.clickContentServicesButton();
done();
});
@@ -99,9 +99,9 @@ describe('Permissions Component', function () {
folderName = `MEESEEKS_${StringUtil.generateRandomString(5)}`;
const publicSiteBody = {visibility: 'PUBLIC', title: publicSiteName};
const publicSiteBody = { visibility: 'PUBLIC', title: publicSiteName };
const privateSiteBody = {visibility: 'PRIVATE', title: privateSiteName};
const privateSiteBody = { visibility: 'PRIVATE', title: privateSiteName };
publicSite = await alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
privateSite = await alfrescoJsApi.core.sitesApi.createSite(privateSiteBody);
@@ -136,7 +136,6 @@ describe('Permissions Component', function () {
privateSiteFile = await uploadActions.uploadFile(alfrescoJsApi, fileModel.location, 'privateSite' + fileModel.name, privateSite.entry.guid);
await alfrescoJsApi.core.nodesApi.updateNode(privateSiteFile.entry.id,
{
permissions: {
locallySet: [{
@@ -148,9 +147,7 @@ describe('Permissions Component', function () {
});
await uploadActions.uploadFile(alfrescoJsApi, fileModel.location, 'Site' + fileModel.name, siteFolder.entry.id);
done();
});
afterAll(async (done) => {
@@ -182,6 +179,9 @@ describe('Permissions Component', function () {
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
permissionsPage.checkSearchUserInputIsDisplayed();
browser.sleep(7000);
permissionsPage.searchUserOrGroup(consumerUser.getId());
permissionsPage.clickUserOrGroup(consumerUser.getFirstName());
permissionsPage.checkUserOrGroupIsAdded(consumerUser.getId());
@@ -32,7 +32,7 @@ export class SearchCheckListPage {
clickCheckListOption(option) {
BrowserVisibility.waitUntilElementIsVisible(this.filter);
const result = this.filter.all(by.css(`mat-checkbox[data-automation-id*='-${option}'] .mat-checkbox-inner-container`)).first();
const result = this.filter.all(by.css(`mat-checkbox[data-automation-id*='${option}'] .mat-checkbox-inner-container`)).first();
BrowserVisibility.waitUntilElementIsVisible(result);
BrowserVisibility.waitUntilElementIsClickable(result);
result.click();
-3
View File
@@ -28,7 +28,6 @@ export class NotificationPage {
actionToggle = element(by.css('mat-slide-toggle[data-automation-id="notification-action-toggle"]'));
notificationSnackBar = element.all(by.css('simple-snack-bar')).first();
actionOutput = element(by.css('div[data-automation-id="notification-action-output"]'));
customNotificationButton = element(by.css('button[data-automation-id="notification-custom-config-button"]'));
selectionDropDown = element.all(by.css('.mat-select-panel')).first();
notificationsPage = element(by.css('a[data-automation-id="Notifications"]'));
notificationConfig = element(by.css('p[data-automation-id="notification-custom-object"]'));
@@ -98,8 +97,6 @@ export class NotificationPage {
}
clickNotificationButton() {
// BrowserVisibility.waitUntilElementIsVisible(this.customNotificationButton);
// this.customNotificationButton.click();
const button = browser.wait(until.elementLocated(by.css('button[data-automation-id="notification-custom-config-button"]')));
button.click();
}
+1 -1
View File
@@ -132,7 +132,7 @@ export class ViewerPage {
}
checkFileIsLoaded() {
BrowserVisibility.waitUntilElementIsOnPage(this.pdfPageLoaded, 15000);
BrowserVisibility.waitUntilElementIsOnPage(this.pdfPageLoaded, 10000);
}
checkImgViewerIsDisplayed() {
@@ -19,7 +19,6 @@ import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { AppListCloudPage } from '@alfresco/adf-testing';
import TestConfig = require('../test.config');
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Applications list', () => {
@@ -28,11 +27,10 @@ describe('Applications list', () => {
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudPage = new AppListCloudPage();
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
it('[C289910] Should the app be displayed on dashboard when is deployed on APS', () => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity);
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer();
@@ -22,7 +22,6 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Edit process filters cloud', () => {
@@ -35,15 +34,13 @@ describe('Edit process filters cloud', () => {
const tasksCloudDemoPage = new TasksCloudDemoPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
let silentLogin;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
done();
});
beforeEach((done) => {
@@ -21,7 +21,6 @@ import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, S
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Edit task filters cloud', () => {
@@ -34,16 +33,13 @@ describe('Edit task filters cloud', () => {
const tasksCloudDemoPage = new TasksCloudDemoPage();
let tasksService: TasksService;
let silentLogin;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
let assignedTask;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -53,6 +49,7 @@ describe('Edit task filters cloud', () => {
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
await tasksService.claimTask(assignedTask.entry.id, simpleApp);
await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
done();
});
beforeEach((done) => {
@@ -39,7 +39,6 @@ describe('People Groups Cloud Component', () => {
let groupIdentityService: GroupIdentityService;
let rolesService: RolesService;
let silentLogin;
let apsUser;
let activitiUser;
let noRoleUser;
@@ -55,14 +54,14 @@ describe('People Groups Cloud Component', () => {
let groups = [];
let clientId;
beforeAll(async () => {
beforeAll(async (done) => {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
identityService = new IdentityService(apiService);
rolesService = new RolesService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP);
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupActiviti = await groupIdentityService.createIdentityGroup();
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_USER);
@@ -88,12 +87,11 @@ describe('People Groups Cloud Component', () => {
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN );
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`];
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToPeopleGroupCloudPage();
done();
});
afterAll(async () => {
@@ -106,11 +104,14 @@ describe('People Groups Cloud Component', () => {
});
beforeEach(() => {
browser.refresh();
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});
afterEach(() => {
browser.refresh();
});
it('[C297674] Add role filtering to PeopleCloudComponent', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.clickPeopleCloudFilterRole();
@@ -188,7 +189,6 @@ describe('People Groups Cloud Component', () => {
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"id":"${noRoleUser.idIdentityService}"}]`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
peopleGroupCloudComponentPage.clickPreselectValidation();
@@ -196,7 +196,6 @@ describe('People Groups Cloud Component', () => {
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"email":"${apsUser.email}"}]`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleGroupCloudComponentPage.clickPreselectValidation();
@@ -204,7 +203,6 @@ describe('People Groups Cloud Component', () => {
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"username":"${activitiUser.username}"}]`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleGroupCloudComponentPage.enterPeoplePreselect('[{"id":"12345","username":"someUsername","email":"someEmail"}]');
@@ -212,7 +210,6 @@ describe('People Groups Cloud Component', () => {
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('false');
peopleGroupCloudComponentPage.clickPreselectValidation();
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe('');
});
@@ -262,68 +259,11 @@ describe('People Groups Cloud Component', () => {
expect(peopleGroupCloudComponentPage.getPreselectValidationStatus()).toBe('true');
peopleGroupCloudComponentPage.enterPeoplePreselect(`[{"firstName":"${apsUser.firstName}","lastName":"${apsUser.lastName},"` +
`{"firstName":"${activitiUser.firstName}","lastName":"${activitiUser.lastName}",{"firstName":"${noRoleUser.firstName}","lastName":"${noRoleUser.lastName}"]`);
browser.sleep(100);
browser.sleep(200);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe('');
});
it('[C305041] Should filter the People Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
});
it('[C305041] Should filter the People Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${noRoleUser.firstName}`);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
});
it('[C305041] Should filter the Groups Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
expect(groupCloudComponentPage.getGroupsFieldContent()).toBe(`${groupActiviti.name}`);
});
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
groupCloudComponentPage.searchGroups(`${groupAps.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupNoRole.name}`);
groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`);
});
});
});
@@ -0,0 +1,174 @@
/*!
* @license
* Copyright 2019 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { SettingsPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { PeopleGroupCloudComponentPage } from '../pages/adf/demo-shell/process-services/peopleGroupCloudComponentPage';
import { GroupCloudComponentPage, PeopleCloudComponentPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiService } from '@alfresco/adf-testing';
import CONSTANTS = require('../util/constants');
import resources = require('../util/resources');
describe('People Groups Cloud Component', () => {
describe('People Groups Cloud Component', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const peopleGroupCloudComponentPage = new PeopleGroupCloudComponentPage();
const peopleCloudComponent = new PeopleCloudComponentPage();
const groupCloudComponentPage = new GroupCloudComponentPage();
let identityService: IdentityService;
let groupIdentityService: GroupIdentityService;
let rolesService: RolesService;
let apsUser;
let activitiUser;
let noRoleUser;
let groupAps;
let groupActiviti;
let groupNoRole;
let apsUserRoleId;
let activitiUserRoleId;
let apsAdminRoleId;
let activitiAdminRoleId;
let clientActivitiAdminRoleId, clientActivitiUserRoleId;
let users = [];
let groups = [];
let clientId;
beforeAll(async (done) => {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
identityService = new IdentityService(apiService);
rolesService = new RolesService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupActiviti = await groupIdentityService.createIdentityGroup();
clientActivitiAdminRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
clientActivitiUserRoleId = await rolesService.getClientRoleIdByRoleName(groupActiviti.id, clientId, CONSTANTS.ROLES.ACTIVITI_USER);
apsUser = await identityService.createIdentityUser();
apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
activitiUser = await identityService.createIdentityUser();
activitiUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_USER);
await identityService.assignRole(activitiUser.idIdentityService, activitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
noRoleUser = await identityService.createIdentityUser();
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
await identityService.deleteClientRole(noRoleUser.idIdentityService, clientId, clientActivitiUserRoleId, CONSTANTS.ROLES.ACTIVITI_USER);
groupAps = await groupIdentityService.createIdentityGroup();
apsAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_ADMIN);
await groupIdentityService.assignRole(groupAps.id, apsAdminRoleId, CONSTANTS.ROLES.APS_ADMIN);
activitiAdminRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.ACTIVITI_ADMIN);
await groupIdentityService.assignRole(groupActiviti.id, activitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN);
groupNoRole = await groupIdentityService.createIdentityGroup();
await groupIdentityService.addClientRole(groupAps.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN );
await groupIdentityService.addClientRole(groupActiviti.id, clientId, clientActivitiAdminRoleId, CONSTANTS.ROLES.ACTIVITI_ADMIN );
users = [`${apsUser.idIdentityService}`, `${activitiUser.idIdentityService}`, `${noRoleUser.idIdentityService}`];
groups = [`${groupAps.id}`, `${groupActiviti.id}`, `${groupNoRole.id}`];
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToPeopleGroupCloudPage();
done();
});
afterAll(async () => {
for (let i = 0; i < users.length; i++) {
await identityService.deleteIdentityUser(users[i]);
}
for (let i = 0; i < groups.length; i++) {
await groupIdentityService.deleteIdentityGroup(groups[i]);
}
});
beforeEach(() => {
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});
afterEach(() => {
browser.refresh();
});
it('[C305041] Should filter the People Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
browser.sleep(100);
expect(peopleCloudComponent.getAssigneeFieldContent()).toBe(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
});
it('[C305041] Should filter the People Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.checkSelectedPeople(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.searchAssigneeToExisting(`${noRoleUser.firstName}`);
peopleCloudComponent.checkUserIsNotDisplayed(`${noRoleUser.firstName}` + ' ' + `${noRoleUser.lastName}`);
});
it('[C305041] Should filter the Groups Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
expect(groupCloudComponentPage.getGroupsFieldContent()).toBe(`${groupActiviti.name}`);
});
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP.name);
groupCloudComponentPage.searchGroups(`${groupAps.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupAps.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
groupCloudComponentPage.checkSelectedGroup(`${groupActiviti.name}`);
groupCloudComponentPage.searchGroupsToExisting(`${groupNoRole.name}`);
groupCloudComponentPage.checkGroupIsNotDisplayed(`${groupNoRole.name}`);
});
});
});
@@ -44,15 +44,12 @@ describe('Process list cloud', () => {
let processInstancesService: ProcessInstancesService;
let queryService: QueryService;
let silentLogin;
let completedProcess, runningProcessInstance, switchProcessInstance, noOfApps;
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.clickConfigEditorButton();
@@ -87,8 +84,10 @@ describe('Process list cloud', () => {
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
processInstancesService = new ProcessInstancesService(apiService);
await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
runningProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
switchProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
@@ -99,9 +98,10 @@ describe('Process list cloud', () => {
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateuserapp);
await tasksService.completeTask(claimedTask.entry.id, candidateuserapp);
done();
});
beforeEach((done) => {
beforeEach(async(done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateuserapp);
@@ -128,7 +128,7 @@ describe('Process list cloud', () => {
});
});
it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
xit('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
.setSortFilterDropDown('Id').setOrderFilterDropDown('ASC');
processCloudDemoPage.processListCloudComponent().getDataTable().checkSpinnerIsDisplayed().checkSpinnerIsNotDisplayed();
@@ -23,7 +23,6 @@ import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/p
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Process filters cloud', () => {
@@ -41,16 +40,13 @@ describe('Process filters cloud', () => {
let processInstancesService: ProcessInstancesService;
let queryService: QueryService;
let silentLogin;
let runningProcess, completedProcess;
const simpleApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const simpleApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -67,6 +63,7 @@ describe('Process filters cloud', () => {
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, simpleApp);
await tasksService.completeTask(claimedTask.entry.id, simpleApp);
done();
});
beforeEach((done) => {
@@ -26,15 +26,14 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
import { ProcessHeaderCloudPage } from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Process Header cloud component', () => {
describe('Process Header cloud component', () => {
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const subProcessApp = resources.ACTIVITI7_APPS.SUB_PROCESS_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const subProcessApp = resources.ACTIVITI7_APPS.SUB_PROCESS_APP.name;
const formatDate = 'DD-MM-YYYY';
const processHeaderCloudPage = new ProcessHeaderCloudPage();
@@ -50,14 +49,11 @@ describe('Process Header cloud component', () => {
let processInstancesService: ProcessInstancesService;
let queryService: QueryService;
let silentLogin;
let runningProcess, runningCreatedDate, parentCompleteProcess, childCompleteProcess, completedCreatedDate;
beforeAll(async (done) => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -16,7 +16,13 @@
*/
import TestConfig = require('../test.config');
import { ProcessDefinitionsService, ProcessInstancesService, LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing';
import {
ProcessDefinitionsService,
ProcessInstancesService,
LoginSSOPage,
ApiService,
SettingsPage
} from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
@@ -24,7 +30,6 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import { ProcessListCloudConfiguration } from './processListCloud.config';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Process list cloud', () => {
@@ -40,16 +45,13 @@ describe('Process list cloud', () => {
let processDefinitionService: ProcessDefinitionsService;
let processInstancesService: ProcessInstancesService;
let silentLogin;
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
let jsonFile;
let runningProcess;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -59,7 +61,7 @@ describe('Process list cloud', () => {
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
processInstancesService = new ProcessInstancesService(apiService);
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
done();
});
beforeEach(async (done) => {
@@ -21,7 +21,6 @@ import TestConfig = require('../test.config');
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { StringUtil } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Start Process', () => {
@@ -37,16 +36,13 @@ describe('Start Process', () => {
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
const lengthValidationError = 'Length exceeded, 255 characters max.';
const requiredError = 'Process Name is required', requiredProcessError = 'Process Definition is required';
const processDefinition = 'processwithvariables';
const processWithVariables = resources.ACTIVITI7_APPS.SIMPLE_APP.processes.processwithvariables;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
let silentLogin;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll((done) => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
@@ -70,6 +66,7 @@ describe('Start Process', () => {
});
it('[C291842] Should be displayed an error message if process name exceed 255 characters', () => {
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.enterProcessName(processName255Characters);
@@ -110,7 +107,7 @@ describe('Start Process', () => {
startProcessPage.blur(startProcessPage.processDefinition);
startProcessPage.checkValidationErrorIsDisplayed(requiredProcessError);
startProcessPage.selectFromProcessDropdown(processDefinition);
startProcessPage.selectFromProcessDropdown(processWithVariables);
startProcessPage.checkStartProcessButtonIsEnabled();
startProcessPage.clickStartProcessButton();
processCloudDemoPage.clickOnProcessFilters();
@@ -22,7 +22,6 @@ import {
LoginSSOPage, SettingsPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService
} from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
import resources = require('../util/resources');
@@ -46,9 +45,9 @@ describe('Start Task', () => {
const requiredError = 'Field required';
const dateValidationError = 'Date format DD/MM/YYYY';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
let silentLogin, activitiUser;
let activitiUser;
let tasksService: TasksService;
let identityService: IdentityService;
@@ -59,10 +58,8 @@ describe('Start Task', () => {
tasksService = new TasksService(apiService);
activitiUser = await identityService.createIdentityUser();
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
done();
});
@@ -20,7 +20,6 @@ import TestConfig = require('../test.config');
import { LoginSSOPage, TasksService, ApiService, SettingsPage, AppListCloudPage, StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Task filters cloud', () => {
@@ -34,15 +33,12 @@ describe('Task filters cloud', () => {
let tasksService: TasksService;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let silentLogin;
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(() => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
});
@@ -23,7 +23,6 @@ import moment = require('moment');
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { LoginSSOPage, SettingsPage, AppListCloudPage, TaskHeaderCloudPage, TasksService } from '@alfresco/adf-testing';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { browser } from 'protractor';
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
import resources = require('../util/resources');
@@ -32,7 +31,7 @@ describe('Task Header cloud component', () => {
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const basicCreatedTaskName = StringUtil.generateRandomString(), completedTaskName = StringUtil.generateRandomString();
let basicCreatedTask, basicCreatedDate, completedTask, completedCreatedDate, subTask, subTaskCreatedDate;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const priority = 30, description = 'descriptionTask', formatDate = 'DD-MM-YYYY';
const taskHeaderCloudPage = new TaskHeaderCloudPage();
@@ -45,13 +44,9 @@ describe('Task Header cloud component', () => {
const taskDetailsCloudDemoPage = new TaskDetailsCloudDemoPage();
let tasksService: TasksService;
let silentLogin;
beforeAll(async (done) => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -30,7 +30,6 @@ import moment = require('moment');
import { DateUtil } from '../util/dateUtil';
import { NotificationPage } from '../pages/adf/notificationPage';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Edit task filters and task list properties', () => {
@@ -49,9 +48,8 @@ describe('Edit task filters and task list properties', () => {
let processInstancesService: ProcessInstancesService;
const notificationPage = new NotificationPage();
let silentLogin;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
const noTasksFoundMessage = 'No Tasks Found';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
@@ -63,11 +61,9 @@ describe('Edit task filters and task list properties', () => {
const afterDate = moment().add(1, 'days').format('DD/MM/YYYY');
beforeAll(async (done) => {
silentLogin = false;
const jsonFile = new TaskListCloudConfiguration().getConfiguration();
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
navigationBarPage.clickConfigEditorButton();
@@ -80,7 +76,7 @@ describe('Edit task filters and task list properties', () => {
configEditorPage.clickEditTaskConfiguration();
configEditorPage.clickClearButton();
browser.driver.sleep(5000);
configEditorPage.enterBigConfigurationText(`{
"filterProperties": [
"appName",
@@ -305,7 +301,7 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
});
it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' +
xit('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' +
'and into lastModifiedTo a date before task due date', function () {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
@@ -316,7 +312,7 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.taskListCloudComponent().getNoTasksFoundMessage()).toEqual(noTasksFoundMessage);
});
it('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' +
xit('[C297692] Task is displayed when typing into lastModifiedFrom field a date before the tasks due date ' +
'and into lastModifiedTo a date after', function () {
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
@@ -36,18 +36,15 @@ describe('Task list cloud - selection', () => {
let tasksService: TasksService;
let silentLogin;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const noOfTasks = 3;
let response;
const tasks = [];
beforeAll(async (done) => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -22,7 +22,6 @@ import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Task filters cloud', () => {
@@ -38,21 +37,18 @@ describe('Task filters cloud', () => {
let processInstancesService: ProcessInstancesService;
let queryService: QueryService;
let silentLogin;
const createdTaskName = StringUtil.generateRandomString(), completedTaskName = StringUtil.generateRandomString(),
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let assignedTask, deletedTask, suspendedTasks;
const orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
let priority = 30;
const nrOfTasks = 3;
beforeAll(async () => {
silentLogin = false;
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, silentLogin);
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
browser.ignoreSynchronization = true;
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
@@ -83,6 +79,7 @@ describe('Task filters cloud', () => {
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp);
await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
done();
});
beforeEach(async (done) => {
Binary file not shown.
Binary file not shown.
Binary file not shown.
+15 -60
View File
@@ -18,8 +18,6 @@
import { LoginPage } from '@alfresco/adf-testing';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
import { ConfigEditorPage } from '../../pages/adf/configEditorPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -32,13 +30,12 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor';
import { StringUtil } from '@alfresco/adf-testing';
import { setConfigField } from '../../proxy';
describe('Search Checklist Component', () => {
const loginPage = new LoginPage();
const searchFiltersPage = new SearchFiltersPage();
const configEditorPage = new ConfigEditorPage();
const navigationBarPage = new NavigationBarPage();
const searchDialog = new SearchDialog();
const searchResults = new SearchResultsPage();
@@ -139,18 +136,13 @@ describe('Search Checklist Component', () => {
jsonFile = searchConfiguration.getConfiguration();
});
it('[C277143] Should be able to click show more/less button with pageSize set as default', () => {
navigationBarPage.clickConfigEditorButton();
fit('[C277143] Should be able to click show more/less button with pageSize set as default', async() => {
for (let numberOfOptions = 0; numberOfOptions < 8; numberOfOptions++) {
jsonFile.categories[1].component.settings.options.push({ 'name': 'Folder', 'value': "TYPE:'cm:folder'" });
}
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
browser.sleep(2000);
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -176,19 +168,14 @@ describe('Search Checklist Component', () => {
browser.refresh();
});
it('[C277144] Should be able to click show more/less button with pageSize set with a custom value', () => {
navigationBarPage.clickConfigEditorButton();
it('[C277144] Should be able to click show more/less button with pageSize set with a custom value', async() => {
jsonFile.categories[1].component.settings.pageSize = 10;
for (let numberOfOptions = 0; numberOfOptions < 8; numberOfOptions++) {
jsonFile.categories[1].component.settings.options.push({ 'name': 'Folder', 'value': "TYPE:'cm:folder'" });
}
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -197,16 +184,9 @@ describe('Search Checklist Component', () => {
searchFiltersPage.checkListFiltersPage().checkShowMoreButtonIsNotDisplayed();
browser.refresh();
navigationBarPage.clickConfigEditorButton();
jsonFile.categories[1].component.settings.pageSize = 11;
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -217,14 +197,9 @@ describe('Search Checklist Component', () => {
browser.refresh();
navigationBarPage.clickConfigEditorButton();
jsonFile.categories[1].component.settings.pageSize = 9;
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -236,19 +211,14 @@ describe('Search Checklist Component', () => {
browser.refresh();
});
it('[C277145] Should be able to click show more/less button with pageSize set to zero', () => {
navigationBarPage.clickConfigEditorButton();
it('[C277145] Should be able to click show more/less button with pageSize set to zero', async() => {
jsonFile.categories[1].component.settings.pageSize = 0;
for (let numberOfOptions = 0; numberOfOptions < 8; numberOfOptions++) {
jsonFile.categories[1].component.settings.options.push({ 'name': 'Folder', 'value': "TYPE:'cm:folder'" });
}
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -267,14 +237,9 @@ describe('Search Checklist Component', () => {
browser.refresh();
navigationBarPage.clickConfigEditorButton();
delete jsonFile.categories[1].component.settings.pageSize;
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -309,15 +274,10 @@ describe('Search Checklist Component', () => {
done();
});
it('[C277018] Should be able to change the operator', () => {
navigationBarPage.clickConfigEditorButton();
it('[C277018] Should be able to change the operator', async() => {
jsonFile.categories[1].component.settings.operator = 'AND';
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
@@ -336,15 +296,10 @@ describe('Search Checklist Component', () => {
browser.refresh();
});
it('[C277019] Should be able to add new properties with different types', () => {
navigationBarPage.clickConfigEditorButton();
it('[C277019] Should be able to add new properties with different types', async() => {
jsonFile.categories[1].component.settings.options.push({ 'name': filterType.custom, 'value': "TYPE:'cm:auditable'" });
configEditorPage.clickSearchConfiguration();
configEditorPage.clickClearButton();
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton();
await setConfigField('search', JSON.stringify(jsonFile));
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter();
+1 -1
View File
@@ -68,7 +68,7 @@ describe('Search component - Text widget', () => {
}
}, {}, {});
await browser.driver.sleep(10000);
await browser.driver.sleep(15000);
loginPage.loginToContentServicesUsingUserModel(acsUser);
+1 -1
View File
@@ -98,7 +98,7 @@ describe('Search component - Search Page', () => {
await uploadActions.createEmptyFiles(this.alfrescoJsApi, adminFileNames, newFolderModelUploaded.entry.id);
browser.driver.sleep(15000);
browser.driver.sleep(10000);
loginPage.loginToContentServicesUsingUserModel(acsUser);
+26 -13
View File
@@ -36,8 +36,8 @@ exports.Files = {
}
},
APP_WITH_PROCESSES:{
file_location:"/resources/apps/App_with_processes.zip",
APP_WITH_PROCESSES: {
file_location: "/resources/apps/App_with_processes.zip",
title: "App_with_processes",
description: "Description for app",
process_se_name: "process_with_se",
@@ -45,15 +45,15 @@ exports.Files = {
task_name: "Task Test 2"
},
APP_DYNAMIC_TABLE_DROPDOWN:{
file_location:"/resources/apps/AppDynamicTableDropdown.zip",
APP_DYNAMIC_TABLE_DROPDOWN: {
file_location: "/resources/apps/AppDynamicTableDropdown.zip",
title: "App3576",
description: "Description for app",
processName: "Process3576"
},
APP_WITH_USER_WIDGET:{
file_location:"/resources/apps/appWithUser.zip",
APP_WITH_USER_WIDGET: {
file_location: "/resources/apps/appWithUser.zip",
title: "appWithUser",
description: "Description for app",
processName: "ProcessWithUser",
@@ -361,7 +361,7 @@ exports.Files = {
last_page_number: "8",
password: "1q2w3e4r"
},
LARGE_FILE:{
LARGE_FILE: {
file_location: "/resources/adf/BigFile.zip",
file_name: "BigFile.zip"
},
@@ -454,15 +454,15 @@ exports.Files = {
file_location: "/resources/adf/allFileTypes/a_zip_file.mp4.zip",
file_name: "a_zip_file.mp4.zip"
},
PAGES:{
PAGES: {
file_location: "/resources/adf/allFileTypes/file_unsupported.pages",
file_name: "file_unsupported.pages"
},
UNSUPPORTED:{
UNSUPPORTED: {
file_location: "/resources/adf/allFileTypes/file_unsupported.3DS",
file_name: "file_unsupported.3DS"
},
INI:{
INI: {
file_location: "/resources/adf/allFileTypes/desktop.ini",
file_name: "desktop.ini"
},
@@ -514,7 +514,20 @@ exports.Files = {
};
exports.ACTIVITI7_APPS = {
CANDIDATE_USER_APP : "candidateuserapp",
SIMPLE_APP : "simple-app",
SUB_PROCESS_APP : "subprocess-app"
CANDIDATE_USER_APP: {
name: "candidateuserapp",
file_location: "/resources/activiti7/candidateuserapp.zip"
},
SIMPLE_APP: {
name: "simpleapp",
file_location: "/resources/activiti7/simpleApp.zip",
processes: {
processwithvariables: "processwithvariables",
simpleProcess: "simpleProcess"
}
},
SUB_PROCESS_APP: {
name: "subprocess-app",
file_location: "/resources/activiti7/subProcessApp.zip",
}
};