[ADF-1316] Add a new service assignByUserId (#2214)

This commit is contained in:
Maurizio Vitale 2017-08-14 22:21:52 +01:00 committed by Mario Romano
parent c3ad16bea7
commit a742e033d1
3 changed files with 48 additions and 5 deletions

View File

@ -90,7 +90,7 @@ export class StartTaskComponent implements OnInit {
.switchMap((createRes: any) => .switchMap((createRes: any) =>
this.attachForm(createRes.id, this.formKey).defaultIfEmpty(createRes) this.attachForm(createRes.id, this.formKey).defaultIfEmpty(createRes)
.switchMap((attachRes: any) => .switchMap((attachRes: any) =>
this.assignTask(createRes.id, this.assignee).defaultIfEmpty(attachRes ? attachRes : createRes) this.assignTaskByUserId(createRes.id, this.assignee.id).defaultIfEmpty(attachRes ? attachRes : createRes)
) )
) )
.subscribe( .subscribe(
@ -112,10 +112,10 @@ export class StartTaskComponent implements OnInit {
return response; return response;
} }
private assignTask(taskId: string, assignee: any): Observable<any> { private assignTaskByUserId(taskId: string, userId: any): Observable<any> {
let response = Observable.of(); let response = Observable.of();
if (taskId && assignee) { if (taskId && userId) {
response = this.taskService.assignTask(taskId, assignee); response = this.taskService.assignTaskByUserId(taskId, userId);
} }
return response; return response;
} }

View File

@ -678,6 +678,39 @@ describe('Activiti TaskList Service', () => {
}); });
}); });
it('should assign task to a userId', (done) => {
let testTaskId = '8888';
service.assignTaskByUserId(testTaskId, fakeUser2.id).subscribe(
(res: TaskDetailsModel) => {
expect(res).toBeDefined();
expect(res.id).toEqual(testTaskId);
expect(res.name).toEqual('FakeNameTask');
expect(res.description).toEqual('FakeDescription');
expect(res.category).toEqual('3');
expect(res.created).not.toEqual('');
expect(res.adhocTaskCanBeReassigned).toBe(true);
expect(res.assignee).toEqual(new User(fakeUser2));
expect(res.involvedPeople).toEqual([fakeUser1]);
done();
}
);
jasmine.Ajax.requests.mostRecent().respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
id: testTaskId,
name: 'FakeNameTask',
description: 'FakeDescription',
adhocTaskCanBeReassigned: true,
category: '3',
assignee: fakeUser2,
involvedPeople: [fakeUser1],
created: '2016-07-15T11:19:17.440+0000'
})
});
});
it('should claim a task', (done) => { it('should claim a task', (done) => {
let taskId = '111'; let taskId = '111';

View File

@ -416,7 +416,17 @@ export class TaskListService {
* @returns {TaskDetailsModel} * @returns {TaskDetailsModel}
*/ */
assignTask(taskId: string, requestNode: any): Observable<TaskDetailsModel> { assignTask(taskId: string, requestNode: any): Observable<TaskDetailsModel> {
return Observable.fromPromise(this.callApiAssignTask(taskId, requestNode)) let assignee = {assignee: requestNode.id} ;
return Observable.fromPromise(this.callApiAssignTask(taskId, assignee))
.map(res => res)
.map((response: TaskDetailsModel) => {
return new TaskDetailsModel(response);
}).catch(err => this.handleError(err));
}
assignTaskByUserId(taskId: string, userId: number): Observable<TaskDetailsModel> {
let assignee = {assignee: userId} ;
return Observable.fromPromise(this.callApiAssignTask(taskId, assignee))
.map(res => res) .map(res => res)
.map((response: TaskDetailsModel) => { .map((response: TaskDetailsModel) => {
return new TaskDetailsModel(response); return new TaskDetailsModel(response);