mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
HXIDP-5126 Fix adf-cloud-task-screen re-initialization on completing (#11291)
* HXIDP-5126 Fix adf-cloud-task-screen re-initialization on completing * Make task type optional
This commit is contained in:
+2
-2
@@ -47,7 +47,7 @@
|
||||
(cancelTask)="onCancelClick()"
|
||||
(claimTask)="onClaimTask()"
|
||||
(error)="onError($event)"
|
||||
(taskCompleted)="onCompleteTask($event)"
|
||||
(taskCompleted)="onCompleteTask($event, taskType)"
|
||||
(taskSaved)="onFormSaved()"
|
||||
(unclaimTask)="onUnclaimTask()"
|
||||
(nextTaskCheckboxCheckedChanged)="onNextTaskCheckboxCheckedChanged($event)"
|
||||
@@ -80,7 +80,7 @@
|
||||
adf-cloud-complete-task
|
||||
[appName]="appName"
|
||||
[taskId]="taskId"
|
||||
(success)="onCompleteTask()"
|
||||
(success)="onCompleteTask(false, taskType)"
|
||||
(error)="onError($event)"
|
||||
color="primary"
|
||||
id="adf-form-complete"
|
||||
|
||||
+38
@@ -760,4 +760,42 @@ describe('UserTaskCloudComponent', () => {
|
||||
|
||||
expect(component.formLoaded.emit).toHaveBeenCalledWith(mockForm);
|
||||
});
|
||||
|
||||
it('should not load task for task screen on complete', () => {
|
||||
component.taskId = 't1';
|
||||
component.taskType = 'screen';
|
||||
component.taskDetails = taskDetails;
|
||||
component.taskDetails.processInstanceId = 'p1';
|
||||
component.taskDetails.rootProcessInstanceId = 'rp1';
|
||||
fixture.detectChanges();
|
||||
|
||||
spyOn(component.taskCompleted, 'emit');
|
||||
const onCompleteSpy = spyOn(component, 'onCompleteTask').and.callThrough();
|
||||
const screenDebugEl = fixture.debugElement.query(By.css('adf-cloud-task-screen'));
|
||||
expect(screenDebugEl).toBeTruthy('adf-cloud-task-screen should be present in template');
|
||||
|
||||
const screenCompInstance = screenDebugEl.componentInstance as TaskScreenCloudMockComponent;
|
||||
const payload = true;
|
||||
|
||||
screenCompInstance.taskCompleted.emit(payload);
|
||||
fixture.detectChanges();
|
||||
|
||||
expect(onCompleteSpy).toHaveBeenCalledWith(payload, 'screen');
|
||||
expect(component.taskCompleted.emit).toHaveBeenCalledWith(payload);
|
||||
expect(getTaskSpy).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should load task for non task screen on complete', () => {
|
||||
spyOn(component.taskCompleted, 'emit');
|
||||
|
||||
component.onCompleteTask(true, 'form');
|
||||
|
||||
expect(component.taskCompleted.emit).toHaveBeenCalledTimes(1);
|
||||
expect(getTaskSpy).toHaveBeenCalledTimes(1);
|
||||
|
||||
component.onCompleteTask(true, '');
|
||||
|
||||
expect(component.taskCompleted.emit).toHaveBeenCalledTimes(2);
|
||||
expect(getTaskSpy).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
});
|
||||
|
||||
+4
-2
@@ -247,8 +247,10 @@ export class UserTaskCloudComponent implements OnInit, OnChanges {
|
||||
this.taskClaimed.emit(this.taskId);
|
||||
}
|
||||
|
||||
onCompleteTask(openNextTask: boolean = false): void {
|
||||
this.loadTask();
|
||||
onCompleteTask(openNextTask: boolean = false, taskType?: UserTaskType): void {
|
||||
if (!taskType || taskType !== UserTaskContentType.Screen) {
|
||||
this.loadTask();
|
||||
}
|
||||
this.taskCompleted.emit(openNextTask);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user