[ADF-5479] Disable clam/release button for standalone tasks on APA (#7670)

* [ADF-5479] Disable clam/release button for standalone tasks on APA

* [ADF-5479] remove focus on unit test describe

* Trigger travis
This commit is contained in:
Tomasz Gnyp 2022-06-10 23:19:45 +02:00 committed by GitHub
parent 7e485ff63c
commit a4202d81b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 74 deletions

View File

@ -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();
}
});

View File

@ -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"
}

View File

@ -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;
}
/**

View File

@ -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();