From d5bdadde0decff962dbaf4318c4279c1ef26b0af Mon Sep 17 00:00:00 2001 From: siva kumar Date: Mon, 24 Jul 2017 20:42:48 +0530 Subject: [PATCH] [ADF-1138] Start Task Form Assignee dropdown show null value inside (#2118) * [ADF-1138] Start Task Form Assignee dropdown show null value inside * Changed Form Assignee dropdown show null value. * [ADF-1138] Start Task Form Assignee dropdown show null value inside * Refactored unit testcases. --- .../src/components/start-task.component.html | 5 ++- .../components/start-task.component.spec.ts | 44 ++++++++++++++++++- .../src/components/start-task.component.ts | 14 ++++++ 3 files changed, 60 insertions(+), 3 deletions(-) diff --git a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.html b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.html index cf6be4eabe..600b613484 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.html +++ b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.html @@ -36,7 +36,9 @@ {{'START_TASK.FORM.LABEL.NONE'|translate}} - {{ user.firstName +' '+ user.lastName }} + + {{ getDisplayUser(user.firstName, user.lastName, ' ')}} + @@ -61,3 +63,4 @@ + diff --git a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.spec.ts b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.spec.ts index ea3aea73ff..4942b93cf9 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.spec.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.spec.ts @@ -266,10 +266,50 @@ describe('StartTaskComponent', () => { expect(emitSpy).toHaveBeenCalled(); }); - it('should enable button if name is not empty', () => { - let createTaskButton = fixture.nativeElement.querySelector('#button-start'); + it('should enable start button if name is filled out', () => { activitiStartTaskComponent.startTaskmodel.name = 'fakeName'; fixture.detectChanges(); + let createTaskButton = fixture.nativeElement.querySelector('#button-start'); expect(createTaskButton.enable).toBeFalsy(); }); + + it('should defined the select option for Assignee', () => { + fixture.detectChanges(); + fixture.whenStable().then(() => { + let selectElement = fixture.nativeElement.querySelector('#assignee_id'); + expect(selectElement).not.toBeNull(); + expect(selectElement).toBeDefined(); + expect(selectElement.innerText.trim()).toBe('START_TASK.FORM.LABEL.ASSIGNEE'); + }); + }); + + it('should defined the select option for Forms', () => { + activitiStartTaskComponent.forms = fakeForms; + fixture.detectChanges(); + let selectElement = fixture.nativeElement.querySelector('#form_id'); + expect(selectElement.innerText.trim()).toBe('START_TASK.FORM.LABEL.FORM'); + }); + + it('should get formatted fullname', () => { + let testUser1 = {'id': 1001, 'firstName': 'Wilbur', 'lastName': 'Adams', 'email': 'wilbur@app.activiti.com'}; + let testUser2 = {'id': 1002, 'firstName': '', 'lastName': 'Adams', 'email': 'adams@app.activiti.com'}; + let testUser3 = {'id': 1003, 'firstName': 'Wilbur', 'lastName': '', 'email': 'wilbur@app.activiti.com'}; + let testUser4 = {'id': 1004, 'firstName': '', 'lastName': '', 'email': 'test@app.activiti.com'}; + + let testFullname1 = activitiStartTaskComponent.getDisplayUser(testUser1.firstName, testUser1.lastName, ' '); + let testFullname2 = activitiStartTaskComponent.getDisplayUser(testUser2.firstName, testUser2.lastName, ' '); + let testFullname3 = activitiStartTaskComponent.getDisplayUser(testUser3.firstName, testUser3.lastName, ' '); + let testFullname4 = activitiStartTaskComponent.getDisplayUser(testUser4.firstName, testUser4.lastName, ' '); + + expect(testFullname1.trim()).toBe('Wilbur Adams'); + expect(testFullname2.trim()).toBe('Adams'); + expect(testFullname3.trim()).toBe('Wilbur'); + expect(testFullname4.trim()).toBe(''); + }); + + it('should not show the name if it is empty', () => { + let testUser2 = {'id': 1001, 'firstName': '', 'lastName': '', 'email': 'wilbur@app.activiti.com'}; + let isUserNameEmpty2 = activitiStartTaskComponent.isUserNameEmpty(testUser2); + expect(isUserNameEmpty2).toBe(true); + }); }); diff --git a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.ts b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.ts index 2cef0bf86e..fd863a63bf 100644 --- a/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.ts +++ b/ng2-components/ng2-activiti-tasklist/src/components/start-task.component.ts @@ -119,4 +119,18 @@ export class StartTaskComponent implements OnInit { this.logService.error('Could not load users'); }); } + + isUserNameEmpty(user: any) { + return !user || (this.isEmpty(user.firstName) && this.isEmpty(user.lastName)); + } + + private isEmpty(data: string) { + return data === undefined || data === null || data.trim().length === 0; + } + + getDisplayUser(firstName: string, lastName: string, delimiter: string = '-'): string { + firstName = (firstName !== null ? firstName : ''); + lastName = (lastName !== null ? lastName : ''); + return firstName + delimiter + lastName; + } }