[no-issue] improve e2e timeout and names apps (#4604)

* fix sso, change timeout, parallel

* cange travis

* split viewer test

* timeot fix

* move name apps in resources file

* resources fix

* resources fix

* fix search default

* fix sso test

* fix test
This commit is contained in:
Eugenio Romano
2019-04-15 01:01:47 +02:00
committed by GitHub
parent 9accfcfb6e
commit b806556453
35 changed files with 931 additions and 488 deletions

View File

@@ -20,6 +20,7 @@ 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', () => {
@@ -27,7 +28,7 @@ describe('Applications list', () => {
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudPage = new AppListCloudPage();
const appName = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
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);
@@ -35,8 +36,8 @@ describe('Applications list', () => {
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer();
appListCloudPage.checkAppIsDisplayed(appName);
appListCloudPage.goToApp(appName);
appListCloudPage.checkAppIsDisplayed(simpleApp);
appListCloudPage.goToApp(simpleApp);
});

View File

@@ -23,6 +23,7 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
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,7 +36,7 @@ describe('Edit process filters cloud', () => {
const processCloudDemoPage = new ProcessCloudDemoPage();
let silentLogin;
const simpleApp = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
beforeAll(async () => {
silentLogin = false;

View File

@@ -22,6 +22,7 @@ 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,7 +35,7 @@ describe('Edit task filters cloud', () => {
let tasksService: TasksService;
let silentLogin;
const simpleApp = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
let assignedTask;

View File

@@ -24,6 +24,7 @@ import { GroupCloudComponentPage, PeopleCloudComponentPage } from '@alfresco/adf
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', () => {
@@ -61,7 +62,7 @@ describe('People Groups Cloud Component', () => {
identityService = new IdentityService(apiService);
rolesService = new RolesService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
clientId = await groupIdentityService.getClientIdByApplicationName('simple-app');
clientId = await groupIdentityService.getClientIdByApplicationName(resources.ACTIVITI7_APPS.SIMPLE_APP);
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);
@@ -269,7 +270,7 @@ describe('People Groups Cloud Component', () => {
it('[C305041] Should filter the People Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.checkPeopleCloudSingleSelectionIsSelected();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName('simple-app');
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
peopleCloudComponent.searchAssignee(`${activitiUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${activitiUser.firstName}` + ' ' + `${activitiUser.lastName}`);
@@ -280,7 +281,7 @@ describe('People Groups Cloud Component', () => {
it('[C305041] Should filter the People Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickPeopleCloudMultipleSelection();
peopleGroupCloudComponentPage.clickPeopleFilerByApp();
peopleGroupCloudComponentPage.enterPeopleAppName('simple-app');
peopleGroupCloudComponentPage.enterPeopleAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
peopleCloudComponent.searchAssignee(`${apsUser.firstName}`);
peopleCloudComponent.checkUserIsDisplayed(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
peopleCloudComponent.selectAssigneeFromList(`${apsUser.firstName}` + ' ' + `${apsUser.lastName}`);
@@ -298,7 +299,7 @@ describe('People Groups Cloud Component', () => {
it('[C305041] Should filter the Groups Single Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudSingleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName('simple-app');
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
groupCloudComponentPage.searchGroups(`${groupActiviti.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupActiviti.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupActiviti.name}`);
@@ -308,7 +309,7 @@ describe('People Groups Cloud Component', () => {
it('[C305041] Should filter the Groups Multiple Selection with the Application name filter', () => {
peopleGroupCloudComponentPage.clickGroupCloudMultipleSelection();
peopleGroupCloudComponentPage.clickGroupFilerByApp();
peopleGroupCloudComponentPage.enterGroupAppName('simple-app');
peopleGroupCloudComponentPage.enterGroupAppName(resources.ACTIVITI7_APPS.SIMPLE_APP);
groupCloudComponentPage.searchGroups(`${groupAps.name}`);
groupCloudComponentPage.checkGroupIsDisplayed(`${groupAps.name}`);
groupCloudComponentPage.selectGroupFromList(`${groupAps.name}`);

View File

@@ -24,6 +24,7 @@ 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 { ConfigEditorPage } from '../pages/adf/configEditorPage';
import resources = require('../util/resources');
import { browser, protractor } from 'protractor';
@@ -45,7 +46,7 @@ describe('Process list cloud', () => {
let silentLogin;
let completedProcess, runningProcessInstance, switchProcessInstance, noOfApps;
const simpleApp = 'candidateuserapp';
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
beforeAll(async () => {
silentLogin = false;
@@ -85,25 +86,25 @@ describe('Process list cloud', () => {
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
processInstancesService = new ProcessInstancesService(apiService);
await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
runningProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
switchProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
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);
completedProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
completedProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
queryService = new QueryService(apiService);
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, simpleApp);
const task = await queryService.getProcessInstanceTasks(completedProcess.entry.id, candidateuserapp);
tasksService = new TasksService(apiService);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, simpleApp);
await tasksService.completeTask(claimedTask.entry.id, simpleApp);
const claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateuserapp);
await tasksService.completeTask(claimedTask.entry.id, candidateuserapp);
});
beforeEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
appListCloudComponent.goToApp(candidateuserapp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
done();
@@ -172,7 +173,7 @@ describe('Process list cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().checkAppNamesAreUnique()).toBe(true);
browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
.setAppNameDropDown(simpleApp).setProcessInstanceId(runningProcessInstance.entry.id);
.setAppNameDropDown(candidateuserapp).setProcessInstanceId(runningProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
expect(processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
@@ -187,7 +188,7 @@ describe('Process list cloud', () => {
expect(processCloudDemoPage.editProcessFilterCloudComponent().getProcessInstanceId()).toEqual(runningProcessInstance.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING')
.setAppNameDropDown(simpleApp).setProcessInstanceId(switchProcessInstance.entry.id);
.setAppNameDropDown(candidateuserapp).setProcessInstanceId(switchProcessInstance.entry.id);
processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();

View File

@@ -24,6 +24,7 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
import { AppListCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Process filters cloud', () => {
@@ -42,7 +43,7 @@ describe('Process filters cloud', () => {
let silentLogin;
let runningProcess, completedProcess;
const simpleApp = 'candidateuserapp';
const simpleApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
beforeAll(async () => {

View File

@@ -27,12 +27,14 @@ 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 = 'simple-app', subProcessApp = 'subprocess-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const subProcessApp = resources.ACTIVITI7_APPS.SUB_PROCESS_APP;
const formatDate = 'DD-MM-YYYY';
const processHeaderCloudPage = new ProcessHeaderCloudPage();

View File

@@ -25,6 +25,7 @@ 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,7 +41,7 @@ describe('Process list cloud', () => {
let processInstancesService: ProcessInstancesService;
let silentLogin;
const simpleApp = 'candidateuserapp';
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
let jsonFile;
let runningProcess;
@@ -55,9 +56,9 @@ describe('Process list cloud', () => {
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
processInstancesService = new ProcessInstancesService(apiService);
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
});
@@ -72,7 +73,7 @@ describe('Process list cloud', () => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
appListCloudComponent.goToApp(candidateuserapp);
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
processCloudDemoPage.runningProcessesFilter().clickProcessFilter();

View File

@@ -22,6 +22,7 @@ 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', () => {
@@ -38,7 +39,7 @@ describe('Start Process', () => {
const requiredError = 'Process Name is required', requiredProcessError = 'Process Definition is required';
const processDefinition = 'processwithvariables';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const appName = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
let silentLogin;
beforeAll((done) => {
@@ -58,8 +59,8 @@ describe('Start Process', () => {
});
it('[C291857] Should be possible to cancel a process', () => {
appListCloudComponent.checkAppIsDisplayed(appName);
appListCloudComponent.goToApp(appName);
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
startProcessPage.blur(startProcessPage.processNameInput);
@@ -69,7 +70,7 @@ describe('Start Process', () => {
});
it('[C291842] Should be displayed an error message if process name exceed 255 characters', () => {
appListCloudComponent.goToApp(appName);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.enterProcessName(processName255Characters);
startProcessPage.checkStartProcessButtonIsEnabled();
@@ -81,8 +82,8 @@ describe('Start Process', () => {
});
it('[C291860] Should be able to start a process', () => {
appListCloudComponent.checkAppIsDisplayed(appName);
appListCloudComponent.goToApp(appName);
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);
@@ -98,8 +99,8 @@ describe('Start Process', () => {
});
it('[C291860] Should be able to start a process with variables', () => {
appListCloudComponent.checkAppIsDisplayed(appName);
appListCloudComponent.goToApp(appName);
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.openNewProcessForm();
startProcessPage.clearField(startProcessPage.processNameInput);

View File

@@ -24,6 +24,7 @@ import {
} from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
import resources = require('../util/resources');
describe('Start Task', () => {
@@ -45,7 +46,8 @@ describe('Start Task', () => {
const requiredError = 'Field required';
const dateValidationError = 'Date format DD/MM/YYYY';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const appName = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
let silentLogin, activitiUser;
let tasksService: TasksService;
let identityService: IdentityService;
@@ -68,8 +70,8 @@ describe('Start Task', () => {
afterAll(async (done) => {
const tasks = [ standaloneTaskName, unassignedTaskName, reassignTaskName ];
for (let i = 0; i < tasks.length; i++) {
const taskId = await tasksService.getTaskId(tasks[i], appName);
await tasksService.deleteTask(taskId, appName);
const taskId = await tasksService.getTaskId(tasks[i], simpleApp);
await tasksService.deleteTask(taskId, simpleApp);
}
await identityService.deleteIdentityUser(activitiUser.idIdentityService);
done();
@@ -78,8 +80,8 @@ describe('Start Task', () => {
beforeEach((done) => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(appName);
appListCloudComponent.goToApp(appName);
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
done();
});

View File

@@ -21,6 +21,7 @@ import { LoginSSOPage, TasksService, ApiService, SettingsPage, AppListCloudPage,
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', () => {
@@ -35,7 +36,7 @@ describe('Task filters cloud', () => {
let silentLogin;
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
const simpleApp = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
beforeAll(() => {
silentLogin = false;

View File

@@ -25,13 +25,14 @@ import { LoginSSOPage, SettingsPage, AppListCloudPage, TaskHeaderCloudPage, Task
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');
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 = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const priority = 30, description = 'descriptionTask', formatDate = 'DD-MM-YYYY';
const taskHeaderCloudPage = new TaskHeaderCloudPage();

View File

@@ -31,6 +31,7 @@ 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,8 +50,9 @@ describe('Edit task filters and task list properties', () => {
const notificationPage = new NotificationPage();
let silentLogin;
const simpleApp = 'simple-app';
const candidateUserApp = 'candidateuserapp';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const candidateUserApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP;
const noTasksFoundMessage = 'No Tasks Found';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask;

View File

@@ -23,6 +23,7 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
import { AppListCloudPage } from '@alfresco/adf-testing';
import { StringUtil } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Task list cloud - selection', () => {
@@ -36,7 +37,7 @@ describe('Task list cloud - selection', () => {
let tasksService: TasksService;
let silentLogin;
const simpleApp = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const noOfTasks = 3;
let response;

View File

@@ -23,6 +23,7 @@ import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tas
import { AppListCloudPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import resources = require('../util/resources');
describe('Task filters cloud', () => {
@@ -40,7 +41,7 @@ describe('Task filters cloud', () => {
let silentLogin;
const createdTaskName = StringUtil.generateRandomString(), completedTaskName = StringUtil.generateRandomString(),
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
const simpleApp = 'simple-app';
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let assignedTask, deletedTask, suspendedTasks;
const orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];