mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
[ADF-1689] fix task comment when the task is running (#2449)
* [ADF-1689] fix task comment when the task is running * fix test
This commit is contained in:
parent
7db1a29f04
commit
e90fbcf9bc
@ -15,7 +15,9 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export let taskDetailsMock = {
|
import { TaskDetailsModel } from '../models/task-details.model';
|
||||||
|
|
||||||
|
export let taskDetailsMock = new TaskDetailsModel({
|
||||||
'id': '91',
|
'id': '91',
|
||||||
'name': 'Request translation',
|
'name': 'Request translation',
|
||||||
'description': null,
|
'description': null,
|
||||||
@ -47,9 +49,9 @@ export let taskDetailsMock = {
|
|||||||
'memberOfCandidateUsers': false,
|
'memberOfCandidateUsers': false,
|
||||||
'managerOfCandidateGroup': false,
|
'managerOfCandidateGroup': false,
|
||||||
'memberOfCandidateGroup': false
|
'memberOfCandidateGroup': false
|
||||||
};
|
});
|
||||||
|
|
||||||
export let taskFormMock = {
|
export let taskFormMock = new TaskDetailsModel({
|
||||||
'id': 4,
|
'id': 4,
|
||||||
'name': 'Translation request',
|
'name': 'Translation request',
|
||||||
'processDefinitionId': 'TranslationProcess:2:8',
|
'processDefinitionId': 'TranslationProcess:2:8',
|
||||||
@ -178,15 +180,15 @@ export let taskFormMock = {
|
|||||||
'variables': [],
|
'variables': [],
|
||||||
'gridsterForm': false,
|
'gridsterForm': false,
|
||||||
'globalDateFormat': 'D-M-YYYY'
|
'globalDateFormat': 'D-M-YYYY'
|
||||||
};
|
});
|
||||||
|
|
||||||
export let tasksMock = {
|
export let tasksMock = new TaskDetailsModel({
|
||||||
data: [
|
data: [
|
||||||
taskDetailsMock
|
taskDetailsMock
|
||||||
]
|
]
|
||||||
};
|
});
|
||||||
|
|
||||||
export let noDataMock = {
|
export let noDataMock = new TaskDetailsModel({
|
||||||
data: [{
|
data: [{
|
||||||
'size': 1,
|
'size': 1,
|
||||||
'total': 1,
|
'total': 1,
|
||||||
@ -198,4 +200,4 @@ export let noDataMock = {
|
|||||||
'createdBy': {'id': 4004, 'firstName': 'gadget', 'lastName': 'inspector', 'email': 'gadget@inspector.com'}
|
'createdBy': {'id': 4004, 'firstName': 'gadget', 'lastName': 'inspector', 'email': 'gadget@inspector.com'}
|
||||||
}]
|
}]
|
||||||
}]
|
}]
|
||||||
};
|
});
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
<md-card *ngIf="showComments">
|
<md-card *ngIf="showComments">
|
||||||
<md-card-content>
|
<md-card-content>
|
||||||
<adf-comments #activiticomments
|
<adf-comments #activiticomments
|
||||||
[readOnly]="taskPeople?.length === 0"
|
[readOnly]="isReadOnlyComment()"
|
||||||
[taskId]="taskDetails.id">
|
[taskId]="taskDetails.id">
|
||||||
</adf-comments>
|
</adf-comments>
|
||||||
</md-card-content>
|
</md-card-content>
|
||||||
|
@ -287,31 +287,60 @@ describe('TaskDetailsComponent', () => {
|
|||||||
|
|
||||||
describe('Comments', () => {
|
describe('Comments', () => {
|
||||||
|
|
||||||
it('should comments NOT be readonly if is there are user involved', () => {
|
it('should comments be readonly if the task is complete and no user are involved', () => {
|
||||||
component.showComments = true;
|
|
||||||
component.showHeaderContent = true;
|
|
||||||
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
|
||||||
component.taskPeople = [fakeUser];
|
|
||||||
|
|
||||||
fixture.detectChanges();
|
|
||||||
expect((component.activiticomments as any).nativeElement.readOnly).toBe(false);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should comments be readonly if is there are no user involved', () => {
|
|
||||||
component.showComments = true;
|
component.showComments = true;
|
||||||
component.showHeaderContent = true;
|
component.showHeaderContent = true;
|
||||||
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
component.taskPeople = [];
|
component.taskPeople = [];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
component.taskDetails.endDate = '2017-10-03T17:03:57.311+0000';
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
expect((component.activiticomments as any).nativeElement.readOnly).toBe(true);
|
expect((component.activiticomments as any).nativeElement.readOnly).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should comments be readonly if the task is complete and user are NOT involved', () => {
|
||||||
|
component.showComments = true;
|
||||||
|
component.showHeaderContent = true;
|
||||||
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
|
component.taskPeople = [];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
component.taskDetails.endDate = '2017-10-03T17:03:57.311+0000';
|
||||||
|
|
||||||
|
fixture.detectChanges();
|
||||||
|
expect((component.activiticomments as any).nativeElement.readOnly).toBe(true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should comments NOT be readonly if the task is NOT complete and user are NOT involved', () => {
|
||||||
|
component.showComments = true;
|
||||||
|
component.showHeaderContent = true;
|
||||||
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
|
component.taskPeople = [fakeUser];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
component.taskDetails.endDate = null;
|
||||||
|
|
||||||
|
fixture.detectChanges();
|
||||||
|
expect((component.activiticomments as any).nativeElement.readOnly).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should comments NOT be readonly if the task is complete and user are involved', () => {
|
||||||
|
component.showComments = true;
|
||||||
|
component.showHeaderContent = true;
|
||||||
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
|
component.taskPeople = [fakeUser];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
component.taskDetails.endDate = '2017-10-03T17:03:57.311+0000';
|
||||||
|
|
||||||
|
fixture.detectChanges();
|
||||||
|
expect((component.activiticomments as any).nativeElement.readOnly).toBe(false);
|
||||||
|
});
|
||||||
|
|
||||||
it('should comments be present if showComments is true', () => {
|
it('should comments be present if showComments is true', () => {
|
||||||
component.showComments = true;
|
component.showComments = true;
|
||||||
component.showHeaderContent = true;
|
component.showHeaderContent = true;
|
||||||
component.taskPeople = [];
|
|
||||||
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
|
component.taskPeople = [];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
expect(component.activiticomments).toBeDefined();
|
expect(component.activiticomments).toBeDefined();
|
||||||
@ -319,8 +348,9 @@ describe('TaskDetailsComponent', () => {
|
|||||||
|
|
||||||
it('should comments NOT be present if showComments is false', () => {
|
it('should comments NOT be present if showComments is false', () => {
|
||||||
component.showComments = false;
|
component.showComments = false;
|
||||||
component.taskPeople = [];
|
|
||||||
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
component.ngOnChanges({'taskId': new SimpleChange('123', '456', true)});
|
||||||
|
component.taskPeople = [];
|
||||||
|
component.taskDetails = new TaskDetailsModel(taskDetailsMock);
|
||||||
|
|
||||||
fixture.detectChanges();
|
fixture.detectChanges();
|
||||||
expect(component.activiticomments).not.toBeDefined();
|
expect(component.activiticomments).not.toBeDefined();
|
||||||
|
@ -356,11 +356,15 @@ export class TaskDetailsComponent implements OnInit, OnChanges {
|
|||||||
this.showAssignee = false;
|
this.showAssignee = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
getTaskHeaderViewClass() {
|
getTaskHeaderViewClass(): string {
|
||||||
if (this.showAssignee) {
|
if (this.showAssignee) {
|
||||||
return 'assign-edit-view';
|
return 'assign-edit-view';
|
||||||
} else {
|
} else {
|
||||||
return 'default-view';
|
return 'default-view';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isReadOnlyComment(): boolean {
|
||||||
|
return (this.taskDetails && this.taskDetails.isCompleted()) && (this.taskPeople && this.taskPeople.length === 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ export class TaskHeaderComponent implements OnChanges {
|
|||||||
* Returns task's status
|
* Returns task's status
|
||||||
*/
|
*/
|
||||||
getTaskStatus(): string {
|
getTaskStatus(): string {
|
||||||
return this.isCompleted() ? 'Completed' : 'Running';
|
return (this.taskDetails && this.taskDetails.isCompleted()) ? 'Completed' : 'Running';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -104,4 +104,8 @@ export class TaskDetailsModel {
|
|||||||
|
|
||||||
return fullName.trim();
|
return fullName.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isCompleted(): boolean {
|
||||||
|
return !!this.endDate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user