diff --git a/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts b/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts index 0e6dfbb358..7ac87a8492 100644 --- a/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts +++ b/e2e/process-services-cloud/task-list/tasks-claim-release.e2e.ts @@ -25,10 +25,8 @@ import { createApiService, ProcessDefinitionsService, ProcessInstancesService, StatusType, - StringUtil, TaskFormCloudComponent, - TaskHeaderCloudPage, - TasksService + TaskHeaderCloudPage } from '@alfresco/adf-testing'; import { NavigationBarPage } from '../../core/pages/navigation-bar.page'; import { TasksCloudDemoPage } from './../pages/tasks-cloud-demo.page'; @@ -38,7 +36,6 @@ import { taskFilterConfiguration } from './../config/task-filter.config'; describe('Task claim/release', () => { const candidateApp = browser.params.resources.ACTIVITI_CLOUD_APPS.CANDIDATE_BASE_APP; - const simpleApp = browser.params.resources.ACTIVITI_CLOUD_APPS.SIMPLE_APP.name; const loginSSOPage = new LoginPage(); const navigationBarPage = new NavigationBarPage(); @@ -56,7 +53,6 @@ describe('Task claim/release', () => { const processInstancesService = new ProcessInstancesService(apiService); const identityService = new IdentityService(apiService); const groupIdentityService = new GroupIdentityService(apiService); - const tasksService = new TasksService(apiService); let processInstance: ProcessInstanceCloud; @@ -189,65 +185,6 @@ describe('Task claim/release', () => { }); - describe('standalone task', () => { - let testUser, groupInfo; - const taskName = StringUtil.generateRandomString(); - - beforeAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - - testUser = await identityService.createIdentityUserWithRole([identityService.ROLES.ACTIVITI_USER]); - groupInfo = await groupIdentityService.getGroupInfoByGroupName('hr'); - await identityService.addUserToGroup(testUser.idIdentityService, groupInfo.id); - - await apiService.login(testUser.username, testUser.password); - await tasksService.createStandaloneTask(taskName, simpleApp, { 'candidateGroups': ['hr'] }); - - await loginSSOPage.login(testUser.username, testUser.password); - }); - - afterAll(async () => { - await apiService.loginWithProfile('identityAdmin'); - await identityService.deleteIdentityUser(testUser.idIdentityService); - await navigationBarPage.clickLogoutButton(); - }); - - it('[C593997] Should be able to release/claim a standalone task ', async () => { - await navigationBarPage.navigateToProcessServicesCloudPage(); - await appListCloudComponent.checkApsContainer(); - await appListCloudComponent.goToApp(simpleApp); - - await taskList.getDataTable().waitForTableBody(); - - await setStatusStandaloneTaskFilter('Created'); - - await taskList.checkContentIsDisplayedByName(taskName); - await taskList.selectRow(taskName); - - await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); - - await expect(await taskHeaderCloudPage.getAssignee()).toEqual('No assignee'); - await taskFormCloudComponent.checkClaimButtonIsDisplayed(); - - await taskFormCloudComponent.clickClaimButton(); - await browser.refresh(); - await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); - - await taskFormCloudComponent.checkReleaseButtonIsDisplayed(); - await expect(await taskHeaderCloudPage.getStatus()).toEqual('ASSIGNED'); - await expect(await taskHeaderCloudPage.getAssignee()).toEqual(testUser.username); - - await taskFormCloudComponent.clickReleaseButton(); - await browser.refresh(); - await taskHeaderCloudPage.checkTaskPropertyListIsDisplayed(); - - await taskFormCloudComponent.checkClaimButtonIsDisplayed(); - await expect(await taskHeaderCloudPage.getStatus()).toEqual('CREATED'); - await expect(await taskHeaderCloudPage.getAssignee()).toEqual('No assignee'); - }); - - }); - async function navigateToApp(user: { username: string; password: string }) { await loginSSOPage.login(user.username, user.password); await LocalStorageUtil.setConfigField('adf-edit-task-filter', JSON.stringify(taskFilterConfiguration)); @@ -267,11 +204,4 @@ describe('Task claim/release', () => { await editTaskFilter.setProcessInstanceId(processInstanceId); await editTaskFilter.closeFilter(); } - - async function setStatusStandaloneTaskFilter(status: StatusType) { - await editTaskFilter.openFilter(); - await editTaskFilter.clearAssignee(); - await editTaskFilter.setStatusFilterDropDown(status); - await editTaskFilter.closeFilter(); - } }); diff --git a/e2e/protractor.excludes.json b/e2e/protractor.excludes.json index 0a21613a4c..1157e609c1 100644 --- a/e2e/protractor.excludes.json +++ b/e2e/protractor.excludes.json @@ -1,6 +1,5 @@ { "C269081": "https://alfresco.atlassian.net/browse/ADF-5385", "C272819": "https://alfresco.atlassian.net/browse/ADF-5385", - "C362241": "https://alfresco.atlassian.net/browse/ADF-5385", - "C593997": "https://alfresco.atlassian.net/browse/ADF-5479" + "C362241": "https://alfresco.atlassian.net/browse/ADF-5385" } diff --git a/lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts b/lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts index f753679aa9..ec68d5611e 100644 --- a/lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts +++ b/lib/process-services-cloud/src/lib/task/services/task-cloud.service.ts @@ -109,7 +109,8 @@ export class TaskCloudService extends BaseCloudService implements TaskCloudServi */ canClaimTask(taskDetails: TaskDetailsCloudModel): boolean { return taskDetails?.status === TASK_CREATED_STATE && - taskDetails?.permissions.includes(TASK_CLAIM_PERMISSION); + taskDetails?.permissions.includes(TASK_CLAIM_PERMISSION) && + !taskDetails?.standalone; } /** diff --git a/lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.spec.ts index cfecc53e2a..ee218e76a0 100644 --- a/lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/task/task-form/components/task-form-cloud.component.spec.ts @@ -135,6 +135,17 @@ describe('TaskFormCloudComponent', () => { expect(unclaimBtn).toBeNull(); }); + it('should not show claim button for standalone task', () => { + taskDetails.status = TASK_CREATED_STATE; + taskDetails.permissions = [TASK_CLAIM_PERMISSION]; + taskDetails.standalone = true; + getTaskSpy.and.returnValue(of(taskDetails)); + fixture.detectChanges(); + + const claimBtn = debugElement.query(By.css('[adf-cloud-claim-task]')); + expect(claimBtn).toBeNull(); + }); + it('should show release button when task is assigned to one of the candidate users', () => { taskDetails.permissions = [TASK_RELEASE_PERMISSION]; fixture.detectChanges();