[ADF-5118] Enable E2E (#5628)

* Enable E2E

1. C305010
2. C311290
3. C317658

* * improved e2e

* * minor changes

* * upload fixed

* improve e2e

Co-authored-by: Eugenio Romano <eugenio.romano@alfresco.com>
This commit is contained in:
dhrn
2020-04-22 18:29:44 +05:30
committed by GitHub
parent b3c004eb46
commit 7fa9b59082
11 changed files with 156 additions and 150 deletions

View File

@@ -15,13 +15,22 @@
* limitations under the License.
*/
import { LoginSSOPage, AppListCloudPage, IdentityService, GroupIdentityService, ApiService, StringUtil, StartTasksCloudPage, TaskFormCloudComponent, EditProcessFilterCloudComponentPage, StartProcessPage } from '@alfresco/adf-testing';
import {
LoginSSOPage,
AppListCloudPage,
IdentityService,
GroupIdentityService,
ApiService,
StringUtil,
StartTasksCloudPage,
TaskFormCloudComponent,
StartProcessPage
} from '@alfresco/adf-testing';
import { browser, by } from 'protractor';
import { NavigationBarPage } from '../../pages/adf/navigation-bar.page';
import { TasksCloudDemoPage } from '../../pages/adf/demo-shell/process-services/tasks-cloud-demo.page';
import { ProcessCloudDemoPage } from '../../pages/adf/demo-shell/process-services/process-cloud-demo.page';
import { ProcessDetailsCloudDemoPage } from '../../pages/adf/demo-shell/process-services-cloud/process-details-cloud-demo.page';
describe('Task cloud visibility', async () => {
@@ -32,8 +41,6 @@ describe('Task cloud visibility', async () => {
const taskFormCloudComponent = new TaskFormCloudComponent();
const startProcessPage = new StartProcessPage();
const processCloudDemoPage = new ProcessCloudDemoPage();
const processDetailsCloudDemoPage = new ProcessDetailsCloudDemoPage();
const editProcessFilterCloudComponentPage = new EditProcessFilterCloudComponentPage();
const loginSSOPage = new LoginSSOPage();
const simpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name;
@@ -74,6 +81,7 @@ describe('Task cloud visibility', async () => {
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.requirednumbervisibility.name);
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Number1');
@@ -90,7 +98,6 @@ describe('Task cloud visibility', async () => {
});
it('[C315169] Should be able to start a process with visibility condition for number widgets ', async () => {
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.clearField(startProcessPage.processNameInput);
await startProcessPage.selectFromProcessDropdown(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.numbervisibilityprocess);
@@ -98,9 +105,10 @@ describe('Task cloud visibility', async () => {
await startProcessPage.enterProcessName(processName);
await startProcessPage.clickStartProcessButton();
await editProcessFilterCloudComponentPage.openFilter();
await editProcessFilterCloudComponentPage.setProcessName(processName);
await processDetailsCloudDemoPage.selectProcessTaskByName(processName);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('number_visibility_task');
await taskFormCloudComponent.clickClaimButton();
@@ -122,16 +130,16 @@ describe('Task cloud visibility', async () => {
});
it('[C315232] Should be able to complete a process with visibility condition for boolean widgets', async () => {
await processCloudDemoPage.openNewProcessForm();
await startProcessPage.clearField(startProcessPage.processNameInput);
await startProcessPage.selectFromProcessDropdown(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.booleanvisibilityprocess);
await startProcessPage.enterProcessName(processName);
await startProcessPage.clickStartProcessButton();
await editProcessFilterCloudComponentPage.openFilter();
await editProcessFilterCloudComponentPage.setProcessName(processName);
await processDetailsCloudDemoPage.selectProcessTaskByName(processName);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(processName);
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow('boolean_visibility_task');
await taskFormCloudComponent.clickClaimButton();
@@ -154,6 +162,7 @@ describe('Task cloud visibility', async () => {
await startTask.selectFormDefinition(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.forms.booleanvisibility.name);
await startTask.clickStartButton();
await tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitTillContentLoaded();
await tasksCloudDemoPage.taskListCloudComponent().selectRow(standaloneTaskName);
await taskFormCloudComponent.formFields().checkWidgetIsVisible('Checkbox2');

View File

@@ -105,8 +105,8 @@ describe('Process list cloud', () => {
});
afterAll(async () => {
await apiService.login(testUser.email, testUser.password);
await processInstancesService.deleteProcessInstance(anotherProcessInstance.entry.id, candidateBaseApp);
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
});
@@ -120,109 +120,90 @@ describe('Process list cloud', () => {
});
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('RUNNING');
await editProcessFilterCloudComponent.setSortFilterDropDown('Name');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Name', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
});
it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('RUNNING');
await editProcessFilterCloudComponent.setSortFilterDropDown('Id');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'RUNNING', sort: 'Id', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
});
it('[C305054] Should display processes ordered by status when Status is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('Status');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Status', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Status')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Status')).toBe(true);
});
it('[C305054] Should display processes ordered by initiator when Initiator is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('Initiator');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'Initiator', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Initiator')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Initiator')).toBe(true);
});
it('[C305054] Should display processes ordered by processdefinitionid date when ProcessDefinitionId is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('ProcessDefinitionId');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionId', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Id')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Id')).toBe(true);
});
it('[C305054] Should display processes ordered by processdefinitionkey date when ProcessDefinitionKey is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('ProcessDefinitionKey');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'ProcessDefinitionKey', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Process Definition Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Process Definition Key')).toBe(true);
});
it('[C305054] Should display processes ordered by last modified date when Last Modified is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('LastModified');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'LastModified', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Last Modified')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Last Modified')).toBe(true);
});
it('[C305054] Should display processes ordered by business key date when BusinessKey is selected from sort dropdown', async () => {
const editProcessFilterCloudComponent = processCloudDemoPage.editProcessFilterCloudComponent();
await editProcessFilterCloudComponent.openFilter();
await editProcessFilterCloudComponent.setStatusFilterDropDown('ALL');
await editProcessFilterCloudComponent.setSortFilterDropDown('BusinessKey');
await editProcessFilterCloudComponent.setOrderFilterDropDown('ASC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ status: 'ALL', sort: 'BusinessKey', order: 'ASC' });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Business Key')).toBe(true);
await processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ order: 'DESC'});
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Business Key')).toBe(true);
});
@@ -253,6 +234,7 @@ describe('Process list cloud', () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(runningProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcessInstance.entry.id);
await expect(await processCloudDemoPage.editProcessFilterCloudComponent().getNumberOfAppNameOptions()).toBe(noOfApps);
@@ -270,6 +252,7 @@ describe('Process list cloud', () => {
await processCloudDemoPage.editProcessFilterCloudComponent().setStatusFilterDropDown('RUNNING');
await processCloudDemoPage.editProcessFilterCloudComponent().setAppNameDropDown(candidateBaseApp);
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessInstanceId(switchProcessInstance.entry.id);
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(switchProcessInstance.entry.id);
await processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();

View File

@@ -96,7 +96,6 @@ describe('Process Header cloud component', () => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
});
beforeEach(async () => {
@@ -110,11 +109,10 @@ describe('Process Header cloud component', () => {
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(runningProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: runningProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(runningProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(runningProcess.entry.name);
await expect(await processHeaderCloudPage.getId()).toEqual(runningProcess.entry.id);
await expect(await processHeaderCloudPage.getName()).toEqual(runningProcess.entry.name);
@@ -133,8 +131,9 @@ describe('Process Header cloud component', () => {
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('Completed Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ initiator: testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(childCompleteProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();

View File

@@ -47,7 +47,6 @@ describe('Process list cloud', () => {
const editProcessFilterConfigFile = editProcessFilterConfiguration.getConfiguration();
beforeAll(async () => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
identityService = new IdentityService(apiService);
groupIdentityService = new GroupIdentityService(apiService);
@@ -73,7 +72,6 @@ describe('Process list cloud', () => {
afterAll(async() => {
await apiService.login(browser.params.identityAdmin.email, browser.params.identityAdmin.password);
await identityService.deleteIdentityUser(testUser.idIdentityService);
});
beforeEach(async () => {
@@ -108,8 +106,8 @@ describe('Process list cloud', () => {
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
await expect(await processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
@@ -124,8 +122,8 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRowById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsSelectedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().selectRowWithKeyboard(processInstances[1]);
@@ -141,8 +139,8 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[1]);
@@ -158,8 +156,8 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.enableMultiSelection();
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual('Running Processes');
await browser.sleep(1000);
await processCloudDemoPage.processListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed();
@@ -182,8 +180,8 @@ describe('Process list cloud', () => {
await tasksCloudDemoPage.clickAppButton();
await processCloudDemoPage.processFilterCloudComponent.isProcessFiltersListVisible();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toEqual('Running Processes');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProperty('initiator', testUser.username);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ 'initiator': testUser.username });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().checkCheckboxById(processInstances[0]);
await processCloudDemoPage.processListCloudComponent().checkRowIsCheckedById(processInstances[0]);
await processDetailsCloudDemoPage.checkListedSelectedProcessInstance(processInstances[0]);

View File

@@ -18,17 +18,17 @@
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
import { browser } from 'protractor';
import {
ApiService,
AppListCloudPage,
LoginSSOPage,
StringUtil,
TaskFormCloudComponent,
ProcessCloudWidgetPage,
ViewerPage,
UploadActions,
ContentNodeSelectorDialogPage,
LoginSSOPage,
ProcessCloudWidgetPage,
ProcessDefinitionsService,
ProcessInstancesService,
ApiService
StringUtil,
TaskFormCloudComponent,
UploadActions,
ViewerPage
} from '@alfresco/adf-testing';
import { ProcessCloudDemoPage } from '../pages/adf/demo-shell/process-services/process-cloud-demo.page';
import { NavigationBarPage } from '../pages/adf/navigation-bar.page';
@@ -75,26 +75,32 @@ describe('Process Task - Attach content file', () => {
processDefinitionService = new ProcessDefinitionsService(apiService);
const processDefinition = await processDefinitionService.getProcessDefinitionByName(processDefinitionName, simpleApp);
processInstancesService = new ProcessInstancesService(apiService);
processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.hrUser.email, browser.params.testConfig.hrUser.password);
processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp, { name: 'upload process' });
await this.alfrescoJsApi.login(browser.params.testConfig.hrUser.email, browser.params.testConfig.hrUser.password);
uploadedFolder = await uploadActions.createFolder(folderName, '-my-');
await uploadActions.uploadFile(pdfFileOne.location, pdfFileOne.name, uploadedFolder.entry.id);
await uploadActions.uploadFile(pdfFileTwo.location, pdfFileTwo.name, uploadedFolder.entry.id);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
});
afterAll(async () => {
await uploadActions.deleteFileOrFolder(uploadedFolder.entry.id);
});
beforeEach(async () => {
await loginSSOPage.loginSSOIdentityService(browser.params.testConfig.hrUser.email, browser.params.testConfig.hrUser.password);
await navigationBarPage.navigateToProcessServicesCloudPage();
await appListCloudComponent.checkApsContainer();
});
it('[C311290] Should be able to attach multiple files when widget allows multiple files to be attached from content', async () => {
await appListCloudComponent.checkAppIsDisplayed(simpleApp);
await appListCloudComponent.goToApp(simpleApp);
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickRunningProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('Running Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id);
@@ -127,6 +133,10 @@ describe('Process Task - Attach content file', () => {
await processCloudDemoPage.processFilterCloudComponent.clickOnProcessFilters();
await processCloudDemoPage.processFilterCloudComponent.clickCompletedProcessesFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName('upload process');
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await expect(await processCloudDemoPage.processFilterCloudComponent.getActiveFilterName()).toBe('Completed Processes');
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(processInstance.entry.id);
});

View File

@@ -325,10 +325,9 @@ describe('Start Task Form', () => {
});
it('[C310358] Should be able to attach a file to a form from local', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadLocalFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadLocalFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadLocalFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadLocalFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadLocalFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -342,10 +341,9 @@ describe('Start Task Form', () => {
});
it('[C311285] Should be able to attach a file to a form from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -368,10 +366,9 @@ describe('Start Task Form', () => {
});
it('[C311287] Content node selector default location when attaching a file to a form from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadDefaultFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadDefaultFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadDefaultFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadDefaultFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadDefaultFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -394,10 +391,9 @@ describe('Start Task Form', () => {
});
it('[C311288] No file should be attached when canceling the content node selector', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(cancelUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(cancelUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', cancelUploadFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: cancelUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(cancelUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -418,10 +414,9 @@ describe('Start Task Form', () => {
});
it('[C311289] Should be able to attach single file', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -441,10 +436,9 @@ describe('Start Task Form', () => {
});
it('[C311292] Attached file is not displayed anymore after release if the form is not saved', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -468,10 +462,9 @@ describe('Start Task Form', () => {
});
it('[C311293] Attached file is displayed after release if the form was saved', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(uploadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', uploadContentFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: uploadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(uploadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
@@ -494,10 +487,9 @@ describe('Start Task Form', () => {
});
it('[C311295] Attached file is displayed after complete', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(completeUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(completeUploadFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', completeUploadFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: completeUploadFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(completeUploadFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();
@@ -527,10 +519,9 @@ describe('Start Task Form', () => {
});
it('[C315292] Should be able to download attached file from acs repository', async () => {
await processCloudDemoPage.editProcessFilterCloudComponent().openFilter();
await processCloudDemoPage.editProcessFilterCloudComponent().setProcessName(downloadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(downloadContentFileProcess.entry.name);
await processCloudDemoPage.processListCloudComponent().getDataTable().selectRow('Name', downloadContentFileProcess.entry.name);
await processCloudDemoPage.editProcessFilterCloudComponent().setFilter({ processName: downloadContentFileProcess.entry.name });
await processCloudDemoPage.processListCloudComponent().getDataTable().waitTillContentLoaded();
await processCloudDemoPage.processListCloudComponent().selectRow(downloadContentFileProcess.entry.name);
await processDetailsCloudDemoPage.checkTaskIsDisplayed('UploadFileTask');
await processDetailsCloudDemoPage.selectProcessTaskByName('UploadFileTask');
await taskFormCloudComponent.clickClaimButton();

View File

@@ -175,9 +175,7 @@ describe('Task filters cloud', () => {
.getProcessDefinitionByName(browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.processes.dropdownrestprocess, simpleApp);
const processInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
taskAssigned = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
});
@@ -185,9 +183,6 @@ describe('Task filters cloud', () => {
await tasksCloudDemoPage.editTaskFilterCloudComponent().openFilter();
await tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee();
await tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('SUSPENDED');
await expect(true).toEqual(false);
await tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(taskAssigned.list.entries[0].entry.name);
});
});

View File

@@ -1,7 +1,4 @@
{
"C260249" : "REPO-4772 ACS 6.2",
"C305010": "Problem start date",
"C311290": "https://issues.alfresco.com/jira/browse/ADF-5118",
"C317658": "https://issues.alfresco.com/jira/browse/ADF-5118"
"C260249" : "REPO-4772 ACS 6.2"
}

View File

@@ -17,6 +17,8 @@
import { ApiService } from '../api.service';
import { StringUtil } from '../../utils/string.util';
import { ApiUtil } from '../../structure/api.util';
import { Logger } from '../../utils/logger';
import { browser } from 'protractor';
export class GroupIdentityService {
@@ -58,12 +60,24 @@ export class GroupIdentityService {
}
async getGroupInfoByGroupName(groupName: string): Promise<any> {
const predicate = (result: any) => {
return !!result;
};
const apiCall = async () => {
try {
const path = `/groups`;
const method = 'GET';
const queryParams = { search: groupName }, postBody = {};
const data = await this.api.performIdentityOperation(path, method, queryParams, postBody);
return data[0];
} catch (error) {
Logger.error('Group not found');
}
};
return ApiUtil.waitForApi(apiCall, predicate);
}
async assignRole(groupId: string, roleId: string, roleName: string): Promise<any> {

View File

@@ -189,4 +189,14 @@ export class EditProcessFilterCloudComponentPage {
await BrowserActions.click(this.saveButton);
}
async setFilter({ name = '', status = '', sort = '', order = '', initiator = '', processName = '' }): Promise<void> {
await this.openFilter();
if (name) { await this.setProcessName(name); }
if (status) { await this.setStatusFilterDropDown(status); }
if (sort) { await this.setSortFilterDropDown(sort); }
if (order) { await this.setOrderFilterDropDown(order); }
if (initiator) { await this.setProperty('initiator', initiator); }
if (processName) { await this.setProcessName(processName); }
await this.openFilter();
}
}

View File

@@ -20,14 +20,14 @@ import { BrowserActions } from '../../core/utils/browser-actions';
export class ProcessHeaderCloudPage {
idField: ElementFinder = element.all(by.css('span[data-automation-id*="id"] span')).first();
nameField: ElementFinder = element.all(by.css('span[data-automation-id*="name"] span')).first();
statusField: ElementFinder = element(by.css('span[data-automation-id*="status"] span'));
initiatorField: ElementFinder = element(by.css('span[data-automation-id*="initiator"] span'));
startDateField: ElementFinder = element.all(by.css('span[data-automation-id*="startDate"] span')).first();
lastModifiedField: ElementFinder = element.all(by.css('span[data-automation-id*="lastModified"] span')).first();
parentIdField: ElementFinder = element(by.css('span[data-automation-id*="parentId"] span'));
businessKeyField: ElementFinder = element.all(by.css('span[data-automation-id*="businessKey"] span')).first();
idField: ElementFinder = element.all(by.css('span[data-automation-id*="id"] span span')).first();
nameField: ElementFinder = element.all(by.css('span[data-automation-id*="name"] span span')).first();
statusField: ElementFinder = element(by.css('span[data-automation-id*="status"] span span'));
initiatorField: ElementFinder = element(by.css('span[data-automation-id*="initiator"] span span'));
startDateField: ElementFinder = element.all(by.css('span[data-automation-id*="startDate"] span span')).first();
lastModifiedField: ElementFinder = element.all(by.css('span[data-automation-id*="lastModified"] span span')).first();
parentIdField: ElementFinder = element(by.css('span[data-automation-id*="parentId"] span span'));
businessKeyField: ElementFinder = element.all(by.css('span[data-automation-id*="businessKey"] span span')).first();
async getId(): Promise<string> {
return BrowserActions.getText(this.idField);