mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
AAE-34478 Hide Open next task checkbox on claim screen (#10822)
This commit is contained in:
parent
cb220968cf
commit
dc35ef8a6f
@ -1,4 +1,4 @@
|
|||||||
<div class="adf-user-task-cloud-container">
|
<div class="adf-user-task-cloud-container">
|
||||||
<div *ngIf="!loading; else loadingTemplate">
|
<div *ngIf="!loading; else loadingTemplate">
|
||||||
<ng-container [ngSwitch]="taskType">
|
<ng-container [ngSwitch]="taskType">
|
||||||
<ng-container *ngSwitchCase="taskTypeEnum.Form">
|
<ng-container *ngSwitchCase="taskTypeEnum.Form">
|
||||||
@ -12,7 +12,7 @@
|
|||||||
[showTitle]="showTitle"
|
[showTitle]="showTitle"
|
||||||
[taskId]="taskId"
|
[taskId]="taskId"
|
||||||
[taskDetails]="taskDetails"
|
[taskDetails]="taskDetails"
|
||||||
[showNextTaskCheckbox]="showNextTaskCheckbox"
|
[showNextTaskCheckbox]="showNextTaskCheckbox && canCompleteTask()"
|
||||||
[isNextTaskCheckboxChecked]="isNextTaskCheckboxChecked"
|
[isNextTaskCheckboxChecked]="isNextTaskCheckboxChecked"
|
||||||
(cancelClick)="onCancelForm()"
|
(cancelClick)="onCancelForm()"
|
||||||
(executeOutcome)="onExecuteOutcome($event)"
|
(executeOutcome)="onExecuteOutcome($event)"
|
||||||
@ -38,7 +38,6 @@
|
|||||||
[showCancelButton]="showCancelButton"
|
[showCancelButton]="showCancelButton"
|
||||||
[taskName]="taskDetails.name"
|
[taskName]="taskDetails.name"
|
||||||
[taskId]="taskId"
|
[taskId]="taskId"
|
||||||
|
|
||||||
(cancelTask)="onCancelClick()"
|
(cancelTask)="onCancelClick()"
|
||||||
(claimTask)="onClaimTask()"
|
(claimTask)="onClaimTask()"
|
||||||
(error)="onError($event)"
|
(error)="onError($event)"
|
||||||
@ -63,10 +62,17 @@
|
|||||||
<adf-empty-content
|
<adf-empty-content
|
||||||
[icon]="'description'"
|
[icon]="'description'"
|
||||||
[title]="'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'"
|
[title]="'ADF_CLOUD_TASK_FORM.EMPTY_FORM.TITLE'"
|
||||||
[subtitle]="'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'" />
|
[subtitle]="'ADF_CLOUD_TASK_FORM.EMPTY_FORM.SUBTITLE'"
|
||||||
|
/>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
<mat-card-actions class="adf-task-form-actions" align="end">
|
<mat-card-actions class="adf-task-form-actions" align="end">
|
||||||
<mat-checkbox id="adf-form-open-next-task" *ngIf="showNextTaskCheckbox" [checked]="isNextTaskCheckboxChecked" (change)="onNextTaskCheckboxCheckedChanged($event)">{{'ADF_CLOUD_TASK_FORM.OPEN_NEXT_TASK.LABEL' | translate}}</mat-checkbox>
|
<mat-checkbox
|
||||||
|
id="adf-form-open-next-task"
|
||||||
|
*ngIf="showNextTaskCheckbox && canCompleteTask()"
|
||||||
|
[checked]="isNextTaskCheckboxChecked"
|
||||||
|
(change)="onNextTaskCheckboxCheckedChanged($event)"
|
||||||
|
>{{ 'ADF_CLOUD_TASK_FORM.OPEN_NEXT_TASK.LABEL' | translate }}
|
||||||
|
</mat-checkbox>
|
||||||
<span class="adf-card-actions-spacer"></span>
|
<span class="adf-card-actions-spacer"></span>
|
||||||
<ng-template [ngTemplateOutlet]="taskFormCloudButtons" />
|
<ng-template [ngTemplateOutlet]="taskFormCloudButtons" />
|
||||||
<button
|
<button
|
||||||
@ -80,12 +86,11 @@
|
|||||||
color="primary"
|
color="primary"
|
||||||
id="adf-form-complete"
|
id="adf-form-complete"
|
||||||
>
|
>
|
||||||
{{'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate}}
|
{{ 'ADF_CLOUD_TASK_FORM.EMPTY_FORM.BUTTONS.COMPLETE' | translate }}
|
||||||
</button>
|
</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -482,28 +482,89 @@ describe('UserTaskCloudComponent', () => {
|
|||||||
it('should allow controlling [open next task] checkbox visibility', () => {
|
it('should allow controlling [open next task] checkbox visibility', () => {
|
||||||
taskDetails.formKey = 'form';
|
taskDetails.formKey = 'form';
|
||||||
component.getTaskType();
|
component.getTaskType();
|
||||||
|
component.taskId = 'taskId';
|
||||||
|
component.appName = 'app';
|
||||||
|
|
||||||
|
const spy = spyOn(taskCloudService, 'canCompleteTask');
|
||||||
|
|
||||||
const isCheckboxShown = () => {
|
const isCheckboxShown = () => {
|
||||||
const checkbox = fixture.debugElement.query(By.css('#adf-form-open-next-task'));
|
const checkbox = fixture.debugElement.query(By.css('#adf-form-open-next-task'));
|
||||||
return !!checkbox;
|
return !!checkbox;
|
||||||
};
|
};
|
||||||
|
|
||||||
fixture.detectChanges();
|
const prepareTestCase = (testCase: {
|
||||||
|
showNextTaskCheckbox: boolean;
|
||||||
|
showCompleteButton: boolean;
|
||||||
|
readOnly: boolean;
|
||||||
|
canCompleteTask: boolean;
|
||||||
|
}): void => {
|
||||||
|
component.showNextTaskCheckbox = testCase.showNextTaskCheckbox;
|
||||||
|
component.showCompleteButton = testCase.showCompleteButton;
|
||||||
|
component.readOnly = testCase.readOnly;
|
||||||
|
spy.calls.reset();
|
||||||
|
spy.and.returnValue(testCase.canCompleteTask);
|
||||||
|
fixture.detectChanges();
|
||||||
|
};
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: false, readOnly: false, canCompleteTask: false });
|
||||||
expect(isCheckboxShown()).toBeFalse();
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
component.showNextTaskCheckbox = true;
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: false, readOnly: false, canCompleteTask: true });
|
||||||
fixture.detectChanges();
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: false, readOnly: true, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: false, readOnly: true, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: true, readOnly: false, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: true, readOnly: false, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: true, readOnly: true, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: false, showCompleteButton: true, readOnly: true, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: false, readOnly: false, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: false, readOnly: false, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: false, readOnly: true, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: false, readOnly: true, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: true, readOnly: true, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: true, readOnly: true, canCompleteTask: true });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: true, readOnly: false, canCompleteTask: false });
|
||||||
|
expect(isCheckboxShown()).toBeFalse();
|
||||||
|
|
||||||
|
prepareTestCase({ showNextTaskCheckbox: true, showCompleteButton: true, readOnly: false, canCompleteTask: true });
|
||||||
expect(isCheckboxShown()).toBeTrue();
|
expect(isCheckboxShown()).toBeTrue();
|
||||||
|
|
||||||
component.showNextTaskCheckbox = false;
|
|
||||||
fixture.detectChanges();
|
|
||||||
expect(isCheckboxShown()).toBeFalse();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should allow controlling [open next task] checkbox value', async () => {
|
it('should allow controlling [open next task] checkbox value', async () => {
|
||||||
taskDetails.formKey = 'form';
|
taskDetails.formKey = 'form';
|
||||||
component.getTaskType();
|
component.getTaskType();
|
||||||
|
|
||||||
|
component.taskId = 'taskId';
|
||||||
|
component.appName = 'app';
|
||||||
component.showNextTaskCheckbox = true;
|
component.showNextTaskCheckbox = true;
|
||||||
|
component.showCompleteButton = true;
|
||||||
|
component.readOnly = false;
|
||||||
|
spyOn(taskCloudService, 'canCompleteTask').and.returnValue(true);
|
||||||
|
|
||||||
const isCheckboxChecked = async () => {
|
const isCheckboxChecked = async () => {
|
||||||
const checkbox = await loader.getHarness(MatCheckboxHarness.with({ selector: '#adf-form-open-next-task' }));
|
const checkbox = await loader.getHarness(MatCheckboxHarness.with({ selector: '#adf-form-open-next-task' }));
|
||||||
@ -526,7 +587,13 @@ describe('UserTaskCloudComponent', () => {
|
|||||||
taskDetails.formKey = 'form';
|
taskDetails.formKey = 'form';
|
||||||
component.getTaskType();
|
component.getTaskType();
|
||||||
|
|
||||||
|
component.taskId = 'taskId';
|
||||||
|
component.appName = 'app';
|
||||||
component.showNextTaskCheckbox = true;
|
component.showNextTaskCheckbox = true;
|
||||||
|
component.showCompleteButton = true;
|
||||||
|
component.readOnly = false;
|
||||||
|
spyOn(taskCloudService, 'canCompleteTask').and.returnValue(true);
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
const checkbox = await loader.getHarnessOrNull(MatCheckboxHarness);
|
const checkbox = await loader.getHarnessOrNull(MatCheckboxHarness);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user