* Change strategy with process cloud e2e and fixes

* Change strategy with process cloud e2e and fixes

* Fix path and host

* improve the config and run the replace for cloud

* Use the same name of other scripts

* Fix lint

* Run the replace in case of cloud

* typo

* Export variables if needed
Fix the check env passing the oauth
This commit is contained in:
Maurizio Vitale
2019-05-23 10:24:32 +01:00
committed by Denys Vuika
parent 446efe4297
commit abb76d956b
26 changed files with 301 additions and 282 deletions

View File

@@ -31,6 +31,7 @@ export class ProcessCloudDemoPage {
completedProcesses = element(by.css('span[data-automation-id="completed-processes_filter"]'));
activeFilter = element(by.css("mat-list-item[class*='active'] span"));
processFilters = element(by.css("mat-expansion-panel[data-automation-id='Process Filters']"));
processFiltersList = element(by.css('adf-cloud-process-filters'));
createButton = element(by.css('button[data-automation-id="create-button"'));
newProcessButton = element(by.css('button[data-automation-id="btn-start-process"]'));
@@ -67,6 +68,7 @@ export class ProcessCloudDemoPage {
}
getActiveFilterName() {
BrowserVisibility.waitUntilElementIsVisible(this.activeFilter);
return BrowserActions.getText(this.activeFilter);
}
@@ -86,6 +88,11 @@ export class ProcessCloudDemoPage {
return this;
}
isProcessFiltersListVisible() {
BrowserVisibility.waitUntilElementIsVisible(this.processFiltersList);
return this;
}
clickOnCreateButton() {
BrowserActions.click(this.createButton);
return this;

View File

@@ -15,28 +15,30 @@
* limitations under the License.
*/
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { LoginSSOPage } from '@alfresco/adf-testing';
import { AppListCloudPage } from '@alfresco/adf-testing';
import TestConfig = require('../test.config');
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import resources = require('../util/resources');
describe('Applications list', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudPage = new AppListCloudPage();
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(async (done) => {
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
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);
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudPage.checkApsContainer();
appListCloudPage.checkAppIsDisplayed(simpleApp);
appListCloudPage.goToApp(simpleApp);
});
});

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { ApiService, IdentityService, LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { LoginSSOPage } from '@alfresco/adf-testing';
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';
@@ -27,41 +26,31 @@ import resources = require('../util/resources');
describe('Edit process filters cloud', () => {
describe('Edit process Filters', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
let identityService: IdentityService;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
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);
const apsUser = await identityService.createActivitiUserWithRole(apiService);
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(apsUser.username, apsUser.password);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach((done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().checkCustomiseFilterHeaderIsExpanded();
done();
});
afterEach((done) => {
afterEach(() => {
processCloudDemoPage.allProcessesFilter().clickProcessFilter();
done();
});
it('[C291804] Delete Save and Save as actions should be displayed when clicking on custom filter header', () => {

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, SettingsPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -26,7 +25,6 @@ import resources = require('../util/resources');
describe('Edit task filters cloud', () => {
describe('Edit Task Filters', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -35,28 +33,25 @@ describe('Edit task filters cloud', () => {
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
let assignedTask;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
tasksService = new TasksService(apiService);
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
const assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
await tasksService.claimTask(assignedTask.entry.id, simpleApp);
await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach((done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
done();
});
afterEach((done) => {

View File

@@ -15,9 +15,6 @@
* 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';
@@ -26,10 +23,9 @@ import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiS
import CONSTANTS = require('../util/constants');
import resources = require('../util/resources');
describe('People Groups Cloud Component', () => {
xdescribe('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();
@@ -55,9 +51,12 @@ describe('People Groups Cloud Component', () => {
let clientId;
beforeAll(async (done) => {
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
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);
@@ -87,23 +86,24 @@ 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}`];
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToPeopleGroupCloudPage();
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
afterAll(async () => {
afterAll(async (done) => {
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]);
}
done();
});
beforeEach(() => {
navigationBarPage.navigateToPeopleGroupCloudPage();
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});

View File

@@ -15,9 +15,6 @@
* 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';
@@ -26,10 +23,9 @@ import { LoginSSOPage, IdentityService, GroupIdentityService, RolesService, ApiS
import CONSTANTS = require('../util/constants');
import resources = require('../util/resources');
describe('People Groups Cloud Component', () => {
xdescribe('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();
@@ -55,9 +51,12 @@ describe('People Groups Cloud Component', () => {
let clientId;
beforeAll(async (done) => {
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
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);
@@ -87,10 +86,9 @@ 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}`];
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
navigationBarPage.navigateToPeopleGroupCloudPage();
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
@@ -104,6 +102,7 @@ describe('People Groups Cloud Component', () => {
});
beforeEach(() => {
navigationBarPage.navigateToPeopleGroupCloudPage();
peopleGroupCloudComponentPage.checkGroupsCloudComponentTitleIsDisplayed();
peopleGroupCloudComponentPage.checkPeopleCloudComponentTitleIsDisplayed();
});

View File

@@ -15,12 +15,9 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import {
TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService,
LoginSSOPage, ApiService, SettingsPage
} from '@alfresco/adf-testing';
LoginSSOPage, ApiService } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -28,10 +25,9 @@ import { AppListCloudPage, LocalStorageUtil, BrowserActions } from '@alfresco/ad
import resources = require('../util/resources');
import { browser } from 'protractor';
describe('Process list cloud', () => {
xdescribe('Process list cloud', () => {
describe('Process List', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -47,9 +43,6 @@ describe('Process list cloud', () => {
const candidateuserapp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await LocalStorageUtil.setConfigField('adf-edit-process-filter', JSON.stringify({
'filterProperties': [
@@ -73,8 +66,12 @@ describe('Process list cloud', () => {
]
}));
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
@@ -92,16 +89,18 @@ 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);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach(async (done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateuserapp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
done();
});
xit('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService, LoginSSOPage, ApiService, SettingsPage } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { TasksService, QueryService, ProcessDefinitionsService, ProcessInstancesService, LoginSSOPage, ApiService } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -28,7 +27,6 @@ import resources = require('../util/resources');
describe('Process filters cloud', () => {
describe('Process Filters', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -42,15 +40,13 @@ describe('Process filters cloud', () => {
let runningProcess, completedProcess;
const simpleApp = resources.ACTIVITI7_APPS.CANDIDATE_USER_APP.name;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
@@ -63,6 +59,9 @@ 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);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});

View File

@@ -15,12 +15,12 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import CONSTANTS = require('../util/constants');
import moment = require('moment');
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ApiService, StringUtil, LoginSSOPage, ProcessDefinitionsService, ProcessInstancesService, QueryService, SettingsPage } from '@alfresco/adf-testing';
import { ApiService, StringUtil, LoginSSOPage, ProcessDefinitionsService, ProcessInstancesService, QueryService } from '@alfresco/adf-testing';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { ProcessHeaderCloudPage } from '@alfresco/adf-testing';
@@ -28,7 +28,7 @@ import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/p
import resources = require('../util/resources');
xdescribe('Process Header cloud component', () => {
describe('Process Header cloud component', () => {
describe('Process Header cloud component', () => {
@@ -38,7 +38,6 @@ xdescribe('Process Header cloud component', () => {
const processHeaderCloudPage = new ProcessHeaderCloudPage();
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -52,12 +51,11 @@ xdescribe('Process Header cloud component', () => {
let runningProcess, runningCreatedDate, parentCompleteProcess, childCompleteProcess, completedCreatedDate;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
@@ -77,17 +75,18 @@ xdescribe('Process Header cloud component', () => {
childCompleteProcess = parentProcessInstance.list.entries[0];
completedCreatedDate = moment(childCompleteProcess.entry.startDate).format(formatDate);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach(async (done) => {
await navigationBarPage.navigateToProcessServicesCloudPage();
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
done();
});
it('[C305010] Should display process details for running process', async () => {
await appListCloudComponent.goToApp(simpleApp);
it('[C305010] Should display process details for running process', () => {
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();
@@ -108,8 +107,8 @@ xdescribe('Process Header cloud component', () => {
expect(processHeaderCloudPage.getLastModified()).toEqual(runningCreatedDate);
});
it('[C305008] Should display process details for completed process', async () => {
await appListCloudComponent.goToApp(subProcessApp);
it('[C305008] Should display process details for completed process', () => {
appListCloudComponent.goToApp(subProcessApp);
tasksCloudDemoPage.taskListCloudComponent().checkTaskListIsLoaded();
processCloudDemoPage.clickOnProcessFilters();

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { LoginSSOPage } from '@alfresco/adf-testing';
import { SettingsPage } from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
@@ -31,7 +30,6 @@ import resources = require('../util/resources');
describe('Process list cloud', () => {
describe('Process List - selection', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -43,31 +41,30 @@ describe('Process list cloud', () => {
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
const noOfProcesses = 3;
let response;
const processInstances = [];
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
processInstancesService = new ProcessInstancesService(apiService);
for (let i = 0; i < noOfProcesses; i++) {
response = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
const response = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
processInstances.push(response.entry.id);
}
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach(async (done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
expect(processInstances.length).toEqual(noOfProcesses, 'Wrong preconditions');
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
processCloudDemoPage.clickOnProcessFilters();
@@ -75,12 +72,12 @@ describe('Process list cloud', () => {
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
tasksCloudDemoPage.clickSettingsButton().disableDisplayProcessDetails();
tasksCloudDemoPage.clickAppButton();
done();
});
it('[C297469] Should NOT be able to select a process when settings are set to None', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('None');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
@@ -90,6 +87,7 @@ describe('Process list cloud', () => {
it('[C297468] Should be able to select only one process when settings are set to Single', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Single');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
@@ -103,6 +101,7 @@ describe('Process list cloud', () => {
it('[C297470] Should be able to select multiple processes using keyboard', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Multiple');
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
@@ -117,6 +116,7 @@ describe('Process list cloud', () => {
it('[C297465] Should be able to select multiple processes using checkboxes', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]);
@@ -132,6 +132,7 @@ describe('Process list cloud', () => {
it('[C299125] Should be possible to select all the rows when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickAppButton();
processCloudDemoPage.isProcessFiltersListVisible();
expect(processCloudDemoPage.getActiveFilterName()).toEqual('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed().checkAllRows();

View File

@@ -15,13 +15,12 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import {
ProcessDefinitionsService,
ProcessInstancesService,
LoginSSOPage,
ApiService,
SettingsPage,
LocalStorageUtil
} from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
@@ -35,7 +34,6 @@ import resources = require('../util/resources');
describe('Process list cloud', () => {
describe('Process List', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -49,17 +47,16 @@ describe('Process list cloud', () => {
let runningProcess;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitions(candidateuserapp);
processInstancesService = new ProcessInstancesService(apiService);
runningProcess = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, candidateuserapp);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});

View File

@@ -15,9 +15,9 @@
* limitations under the License.
*/
import { LoginSSOPage, SettingsPage } from '@alfresco/adf-testing';
import { LoginSSOPage } from '@alfresco/adf-testing';
import { AppListCloudPage, StartProcessCloudPage } from '@alfresco/adf-testing';
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/processCloudDemoPage';
import { StringUtil } from '@alfresco/adf-testing';
@@ -25,7 +25,6 @@ import resources = require('../util/resources');
describe('Start Process', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -36,13 +35,12 @@ describe('Start Process', () => {
const processNameBiggerThen255Characters = StringUtil.generateRandomString(256);
const lengthValidationError = 'Length exceeded, 255 characters max.';
const requiredError = 'Process Name is required';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll((done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
done();

View File

@@ -15,20 +15,19 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import {
LoginSSOPage, SettingsPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
LoginSSOPage, AppListCloudPage, StringUtil, TaskHeaderCloudPage,
StartTasksCloudPage, PeopleCloudComponentPage, TasksService, ApiService, IdentityService, RolesService
} from '@alfresco/adf-testing';
import { TaskDetailsCloudDemoPage } from '../pages/adf/demo-shell/process-services/taskDetailsCloudDemoPage';
import resources = require('../util/resources');
import CONSTANTS = require('../util/constants');
describe('Start Task', () => {
xdescribe('Start Task', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const navigationBarPage = new NavigationBarPage();
@@ -50,11 +49,11 @@ describe('Start Task', () => {
let activitiUser;
let identityService: IdentityService;
let apiService: ApiService;
beforeAll(async (done) => {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
apsUser = await identityService.createActivitiUserWithRole(apiService);
@@ -65,16 +64,14 @@ describe('Start Task', () => {
activitiUser = await identityService.createIdentityUser();
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(apsUser.username, apsUser.password);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
afterAll(async (done) => {
try {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await apiService.login(apsUser.email, apsUser.password);
const tasksService = new TasksService(apiService);
const tasks = [standaloneTaskName, unassignedTaskName, reassignTaskName];
@@ -91,16 +88,15 @@ describe('Start Task', () => {
done();
});
beforeEach(async (done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.checkAppIsDisplayed(simpleApp);
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
done();
});
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
xit('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
peopleCloudComponent.clearAssignee();
@@ -119,7 +115,7 @@ describe('Start Task', () => {
expect(taskHeaderCloudPage.getAssignee()).toBe('No assignee');
});
it('[C291956] Should be able to create a new standalone task without assignee', () => {
xit('[C291956] Should be able to create a new standalone task without assignee', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
expect(peopleCloudComponent.getAssignee()).toContain(apsUser.firstName, 'does not contain Admin');
@@ -133,7 +129,7 @@ describe('Start Task', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
});
it('[C290166] Should be possible to cancel a task', () => {
xit('[C290166] Should be possible to cancel a task', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.checkStartButtonIsDisabled()
@@ -170,7 +166,7 @@ describe('Start Task', () => {
.clickCancelButton();
});
it('[C291774] Should be displayed an error message if the date is invalid', () => {
xit('[C291774] Should be displayed an error message if the date is invalid', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.addDueDate('12/12/2018')
.checkStartButtonIsEnabled();
@@ -181,7 +177,7 @@ describe('Start Task', () => {
.clickCancelButton();
});
it('[C290182] Should be possible to assign the task to another user', () => {
xit('[C290182] Should be possible to assign the task to another user', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName);
@@ -193,14 +189,14 @@ describe('Start Task', () => {
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
});
it('[C291953] Assignee field should display the logged user as default', () => {
xit('[C291953] Assignee field should display the logged user as default', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
expect(peopleCloudComponent.getAssignee()).toContain(apsUser.firstName, 'does not contain Admin');
startTask.clickCancelButton();
});
it('[C305050] Should be able to reassign the removed user when starting a new task', () => {
xit('[C305050] Should be able to reassign the removed user when starting a new task', () => {
tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(reassignTaskName);

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { LoginSSOPage, TasksService, ApiService, SettingsPage, AppListCloudPage, StringUtil } from '@alfresco/adf-testing';
import { browser } from 'protractor';
import { LoginSSOPage, TasksService, ApiService, AppListCloudPage, StringUtil } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import resources = require('../util/resources');
@@ -25,28 +24,29 @@ import resources = require('../util/resources');
describe('Task filters cloud', () => {
describe('Task Filters', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
const tasksCloudDemoPage = new TasksCloudDemoPage();
let tasksService: TasksService;
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let apiService: ApiService;
const newTask = StringUtil.generateRandomString(5), completedTask = StringUtil.generateRandomString(5);
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
beforeAll(() => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
beforeAll(async(done) => {
apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, 'BPM');
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach((done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
done();
});
it('[C290011] Should display default filters when an app is deployed', () => {
@@ -55,9 +55,6 @@ describe('Task filters cloud', () => {
});
it('[C290009] Should display default filters and created task', async () => {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
tasksService = new TasksService(apiService);
const task = await tasksService.createStandaloneTask(newTask, simpleApp);
@@ -74,9 +71,6 @@ describe('Task filters cloud', () => {
});
it('[C289955] Should display task in Complete Tasks List when task is completed', async () => {
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
tasksService = new TasksService(apiService);
const toBeCompletedTask = await tasksService.createStandaloneTask(completedTask, simpleApp);

View File

@@ -15,9 +15,8 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, SettingsPage, TasksService, QueryService,
import { browser } from 'protractor';
import { AppListCloudPage, StringUtil, ApiService, LoginSSOPage, TasksService, QueryService,
ProcessDefinitionsService, ProcessInstancesService } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -27,7 +26,6 @@ import resources = require('../util/resources');
describe('Complete task - cloud directive', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -44,12 +42,8 @@ describe('Complete task - cloud directive', () => {
const completedTaskName = StringUtil.generateRandomString(), assignedTaskName = StringUtil.generateRandomString();
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
tasksService = new TasksService(apiService);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateuserapp);
@@ -75,14 +69,15 @@ describe('Complete task - cloud directive', () => {
tasksService = new TasksService(apiService);
claimedTask = await tasksService.claimTask(task.list.entries[0].entry.id, candidateuserapp);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach((done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(candidateuserapp);
done();
});
it('[C307093] Complete button is not displayed when the task is already completed', () => {

View File

@@ -15,20 +15,18 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import CONSTANTS = require('../util/constants');
import { ApiService, StringUtil } from '@alfresco/adf-testing';
import moment = require('moment');
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { LoginSSOPage, SettingsPage, AppListCloudPage, TaskHeaderCloudPage, TasksService } from '@alfresco/adf-testing';
import { LoginSSOPage, AppListCloudPage, TaskHeaderCloudPage, TasksService } from '@alfresco/adf-testing';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
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 = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
@@ -36,7 +34,6 @@ describe('Task Header cloud component', () => {
const taskHeaderCloudPage = new TaskHeaderCloudPage();
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -45,12 +42,8 @@ describe('Task Header cloud component', () => {
let tasksService: TasksService;
beforeAll(async (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
tasksService = new TasksService(apiService);
@@ -71,17 +64,18 @@ describe('Task Header cloud component', () => {
subTask = await tasksService.getTask(subTaskId.entry.id, simpleApp);
subTaskCreatedDate = moment(subTask.entry.createdDate).format(formatDate);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach(async (done) => {
await navigationBarPage.navigateToProcessServicesCloudPage();
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp);
done();
appListCloudComponent.goToApp(simpleApp);
});
it('[C291943] Should display task details for assigned task', async () => {
it('[C291943] Should display task details for assigned task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);
@@ -101,7 +95,7 @@ describe('Task Header cloud component', () => {
.toEqual(basicCreatedTask.entry.parentTaskId === null ? '' : basicCreatedTask.entry.parentTaskId);
});
it('[C291944] Should display task details for completed task', async () => {
it('[C291944] Should display task details for completed task', () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
@@ -121,7 +115,7 @@ describe('Task Header cloud component', () => {
.toEqual(completedTask.entry.parentTaskId === null ? '' : completedTask.entry.parentTaskId);
});
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => {
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name);
@@ -141,7 +135,7 @@ describe('Task Header cloud component', () => {
.toEqual(subTask.entry.parentTaskId === null ? '' : subTask.entry.parentTaskId);
});
it('[C307032] Should display the appropriate title for the unclaim option of a Task', async () => {
xit('[C307032] Should display the appropriate title for the unclaim option of a Task', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);

View File

@@ -15,13 +15,12 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import {
StringUtil, TasksService,
ProcessDefinitionsService, ProcessInstancesService,
LoginSSOPage, ApiService,
SettingsPage, AppListCloudPage, LocalStorageUtil, IdentityService, RolesService
AppListCloudPage, LocalStorageUtil, IdentityService, RolesService
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -33,9 +32,8 @@ import { DateUtil } from '../util/dateUtil';
import resources = require('../util/resources');
import CONSTANTS = require('../util/constants');
describe('Edit task filters and task list properties', () => {
xdescribe('Edit task filters and task list properties', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
@@ -51,7 +49,6 @@ describe('Edit task filters and task list properties', () => {
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;
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask, otherOwnerTask;
const priority = 30;
@@ -60,10 +57,37 @@ describe('Edit task filters and task list properties', () => {
const afterDate = moment().add(1, 'days').format('DD/MM/YYYY');
beforeAll(async (done) => {
const apiService = new ApiService(browser.params.config.oauth2.clientId, browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
rolesService = new RolesService(apiService);
tasksService = new TasksService(apiService);
const apsUser = await identityService.createIdentityUser();
const apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(createdTask.entry.id, simpleApp);
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {priority: priority});
await tasksService.claimTask(priorityTask.entry.id, simpleApp);
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateUserApp);
await tasksService.claimTask(notDisplayedTask.entry.id, candidateUserApp);
processDefinitionService = new ProcessDefinitionsService(apiService);
processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
processInstancesService = new ProcessInstancesService(apiService);
processInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
subTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {'parentTaskId': createdTask.entry.id});
await tasksService.claimTask(subTask.entry.id, simpleApp);
const jsonFile = new TaskListCloudConfiguration().getConfiguration();
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
await LocalStorageUtil.setConfigField('adf-cloud-task-list', JSON.stringify(jsonFile));
await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify({
@@ -103,49 +127,19 @@ describe('Edit task filters and task list properties', () => {
]
}));
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);
tasksService = new TasksService(apiService);
const apsUser = await identityService.createIdentityUser();
const apsUserRoleId = await rolesService.getRoleIdByRoleName(CONSTANTS.ROLES.APS_USER);
await identityService.assignRole(apsUser.idIdentityService, apsUserRoleId, CONSTANTS.ROLES.APS_USER);
await apiService.login(apsUser.email, apsUser.password);
otherOwnerTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(otherOwnerTask.entry.id, simpleApp);
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
createdTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
await tasksService.claimTask(createdTask.entry.id, simpleApp);
notAssigned = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp);
priorityTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), simpleApp, {priority: priority});
await tasksService.claimTask(priorityTask.entry.id, simpleApp);
notDisplayedTask = await tasksService.createStandaloneTask(StringUtil.generateRandomString(), candidateUserApp);
await tasksService.claimTask(notDisplayedTask.entry.id, candidateUserApp);
processDefinitionService = new ProcessDefinitionsService(apiService);
processDefinition = await processDefinitionService.getProcessDefinitions(simpleApp);
processInstancesService = new ProcessInstancesService(apiService);
processInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
subTask = await tasksService.createStandaloneSubtask(createdTask.entry.id, simpleApp, StringUtil.generateRandomString());
await tasksService.claimTask(subTask.entry.id, simpleApp);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
describe('Edit task filters and task list properties - filter properties', () => {
beforeEach((done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
done();
});
it('[C292004] Filter by appName', () => {

View File

@@ -15,9 +15,9 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import { ApiService, LoginSSOPage, TasksService, SettingsPage } from '@alfresco/adf-testing';
import { ApiService, LoginSSOPage, TasksService } from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudPage } from '@alfresco/adf-testing';
@@ -27,7 +27,6 @@ import resources = require('../util/resources');
describe('Task list cloud - selection', () => {
describe('Task list cloud - selection', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -36,18 +35,16 @@ describe('Task list cloud - selection', () => {
let tasksService: TasksService;
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) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
tasksService = new TasksService(apiService);
@@ -57,17 +54,18 @@ describe('Task list cloud - selection', () => {
tasks.push(response.entry.name);
}
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});
beforeEach(async (done) => {
beforeEach(() => {
navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer();
appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.myTasksFilter().checkTaskFilterIsDisplayed();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton();
done();
});
it('[C291914] Should not be able to select any row when selection mode is set to None', () => {

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import TestConfig = require('../test.config');
import { browser } from 'protractor';
import {
StringUtil,
@@ -24,8 +24,7 @@ import {
ProcessDefinitionsService,
ProcessInstancesService,
LoginSSOPage,
ApiService,
SettingsPage
ApiService
} from '@alfresco/adf-testing';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
@@ -36,7 +35,6 @@ import resources = require('../util/resources');
describe('Task filters cloud', () => {
describe('Filters', () => {
const settingsPage = new SettingsPage();
const loginSSOPage = new LoginSSOPage();
const navigationBarPage = new NavigationBarPage();
const appListCloudComponent = new AppListCloudPage();
@@ -50,19 +48,17 @@ describe('Task filters cloud', () => {
completedTaskName = StringUtil.generateRandomString(),
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
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 (done) => {
settingsPage.setProviderBpmSso(TestConfig.adf.hostBPM, TestConfig.adf.hostSso, TestConfig.adf.hostIdentity, false);
loginSSOPage.clickOnSSOButton();
loginSSOPage.loginSSOIdentityService(user, password);
const apiService = new ApiService('activiti', TestConfig.adf.hostBPM, TestConfig.adf.hostSso, 'BPM');
await apiService.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
const apiService = new ApiService(
browser.params.config.oauth2.clientId,
browser.params.config.bpmHost, browser.params.config.oauth2.host, browser.params.config.providers
);
await apiService.login(browser.params.identityUser.email, browser.params.identityUser.password);
tasksService = new TasksService(apiService);
await tasksService.createStandaloneTask(createdTaskName, simpleApp);
@@ -89,6 +85,9 @@ 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);
browser.get('/');
loginSSOPage.loginSSOIdentityService(browser.params.identityUser.email, browser.params.identityUser.password);
done();
});