[ADF-2067] Not able to see the 'My tasks' filter when clicking on a newly created app. (#2792)

* fixed Not able to see the 'My tasks' filter when clicking on a newly created app.
* Create default services return response with id.
This commit is contained in:
siva kumar 2017-12-21 14:31:51 +05:30 committed by Maurizio Vitale
parent 1b50094cc5
commit 1f9024d4f6
5 changed files with 69 additions and 23 deletions

View File

@ -130,12 +130,12 @@
<div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}" <div class="adf-grid-item adf-processes-list adf-list" fxFlex.gt-md="335px" [ngClass.gt-md]="{'small-pagination': true}"
*ngIf="processFilter && !isStartProcessMode()"> *ngIf="processFilter && !isStartProcessMode()">
<adf-process-instance-list <adf-process-instance-list
*ngIf="processFilter?.hasFilter()" [appId]="processFilter.appId" *ngIf="processFilter?.filter" [appId]="processFilter?.appId"
[processDefinitionKey]="processFilter.filter.processDefinitionKey" [processDefinitionKey]="processFilter?.filter?.processDefinitionKey"
[name]="processFilter.filter.name" [name]="processFilter?.filter?.name"
[presetColumn]="presetColoum" [presetColumn]="presetColoum"
[state]="processFilter.filter.state" [state]="processFilter?.filter?.state"
[sort]="processFilter.filter.sort" [sort]="processFilter?.filter?.sort"
[data]="dataProcesses" [data]="dataProcesses"
(rowClick)="onProcessRowClick($event)" (rowClick)="onProcessRowClick($event)"
(row-dblclick)="onProcessRowDblClick($event)" (row-dblclick)="onProcessRowDblClick($event)"

View File

@ -23,6 +23,8 @@ import { mockError, fakeProcessFilters } from '../../mock';
import { FilterProcessRepresentationModel } from '../models/filter-process.model'; import { FilterProcessRepresentationModel } from '../models/filter-process.model';
import { ProcessFilterService } from './process-filter.service'; import { ProcessFilterService } from './process-filter.service';
declare let jasmine: any;
describe('Process filter', () => { describe('Process filter', () => {
let service: ProcessFilterService; let service: ProcessFilterService;
@ -51,9 +53,11 @@ describe('Process filter', () => {
.and .and
.returnValue(Promise.resolve(fakeProcessFilters)); .returnValue(Promise.resolve(fakeProcessFilters));
createFilter = spyOn(alfrescoApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter') jasmine.Ajax.install();
.and });
.callFake((filter: FilterProcessRepresentationModel) => Promise.resolve(filter));
afterEach(() => {
jasmine.Ajax.uninstall();
}); });
describe('get filters', () => { describe('get filters', () => {
@ -103,16 +107,41 @@ describe('Process filter', () => {
})); }));
it('should return the default filters', (done) => { it('should return the default filters', (done) => {
service.createDefaultFilters(1234).subscribe( service.createDefaultFilters(1234).subscribe((res: FilterProcessRepresentationModel []) => {
(res: FilterProcessRepresentationModel []) => { expect(res).toBeDefined();
expect(res).toBeDefined(); expect(res.length).toEqual(3);
expect(res.length).toEqual(3); expect(res[0].name).toEqual('Running');
expect(res[0].name).toEqual('Running'); expect(res[0].id).toEqual(111);
expect(res[1].name).toEqual('Completed'); expect(res[1].name).toEqual('Completed');
expect(res[2].name).toEqual('All'); expect(res[1].id).toEqual(222);
done(); expect(res[2].name).toEqual('All');
} expect(res[2].id).toEqual(333);
); done();
});
jasmine.Ajax.requests.at(0).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: '111', name: 'Running', icon: 'fake-icon', recent: false
})
});
jasmine.Ajax.requests.at(1).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: '222', name: 'Completed', icon: 'fake-icon', recent: false
})
});
jasmine.Ajax.requests.at(2).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: '333', name: 'All', icon: 'fake-icon', recent: false
})
});
}); });
it('should pass on any error that is returned by the API', async(() => { it('should pass on any error that is returned by the API', async(() => {
@ -130,6 +159,12 @@ describe('Process filter', () => {
describe('add filter', () => { describe('add filter', () => {
beforeEach(() => {
createFilter = spyOn(alfrescoApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter')
.and
.callFake((processfilter: FilterProcessRepresentationModel) => Promise.resolve(processfilter));
});
let filter = fakeProcessFilters.data[0]; let filter = fakeProcessFilters.data[0];
it('should call the API to create the filter', () => { it('should call the API to create the filter', () => {

View File

@ -91,10 +91,13 @@ export class ProcessFilterService {
let filters: FilterProcessRepresentationModel[] = []; let filters: FilterProcessRepresentationModel[] = [];
res.forEach((filter) => { res.forEach((filter) => {
if (filter.name === runningFilter.name) { if (filter.name === runningFilter.name) {
runningFilter.id = filter.id;
filters.push(runningFilter); filters.push(runningFilter);
} else if (filter.name === completedFilter.name) { } else if (filter.name === completedFilter.name) {
completedFilter.id = filter.id;
filters.push(completedFilter); filters.push(completedFilter);
} else if (filter.name === allFilter.name) { } else if (filter.name === allFilter.name) {
allFilter.id = filter.id;
filters.push(allFilter); filters.push(allFilter);
} }
}); });

View File

@ -26,7 +26,7 @@ import { TaskFilterService } from './task-filter.service';
declare let jasmine: any; declare let jasmine: any;
describe('Activiti Tas filter Service', () => { describe('Activiti Task filter Service', () => {
let service: TaskFilterService; let service: TaskFilterService;
@ -131,9 +131,13 @@ describe('Activiti Tas filter Service', () => {
expect(res).toBeDefined(); expect(res).toBeDefined();
expect(res.length).toEqual(4); expect(res.length).toEqual(4);
expect(res[0].name).toEqual('Involved Tasks'); expect(res[0].name).toEqual('Involved Tasks');
expect(res[0].id).toEqual(111);
expect(res[1].name).toEqual('My Tasks'); expect(res[1].name).toEqual('My Tasks');
expect(res[1].id).toEqual(222);
expect(res[2].name).toEqual('Queued Tasks'); expect(res[2].name).toEqual('Queued Tasks');
expect(res[2].id).toEqual(333);
expect(res[3].name).toEqual('Completed Tasks'); expect(res[3].name).toEqual('Completed Tasks');
expect(res[3].id).toEqual(444);
done(); done();
}); });
@ -141,7 +145,7 @@ describe('Activiti Tas filter Service', () => {
'status': 200, 'status': 200,
contentType: 'application/json', contentType: 'application/json',
responseText: JSON.stringify({ responseText: JSON.stringify({
id: '111', name: 'Involved Tasks', filter: { assignment: 'fake-involved' } appId: 1001, id: '111', name: 'Involved Tasks', icon: 'fake-icon', recent: false
}) })
}); });
@ -149,7 +153,7 @@ describe('Activiti Tas filter Service', () => {
'status': 200, 'status': 200,
contentType: 'application/json', contentType: 'application/json',
responseText: JSON.stringify({ responseText: JSON.stringify({
id: '222', name: 'My Tasks', filter: { assignment: 'fake-assignee' } appId: 1001, id: '222', name: 'My Tasks', icon: 'fake-icon', recent: false
}) })
}); });
@ -157,7 +161,7 @@ describe('Activiti Tas filter Service', () => {
'status': 200, 'status': 200,
contentType: 'application/json', contentType: 'application/json',
responseText: JSON.stringify({ responseText: JSON.stringify({
id: '333', name: 'Queued Tasks', filter: { assignment: 'fake-candidate' } appId: 1001, id: '333', name: 'Queued Tasks', icon: 'fake-icon', recent: false
}) })
}); });
@ -165,7 +169,7 @@ describe('Activiti Tas filter Service', () => {
'status': 200, 'status': 200,
contentType: 'application/json', contentType: 'application/json',
responseText: JSON.stringify({ responseText: JSON.stringify({
id: '444', name: 'Completed Tasks', filter: { assignment: 'fake-involved' } appId: 1001, id: '444', name: 'Completed Tasks', icon: 'fake-icon', recent: false
}) })
}); });
}); });

View File

@ -63,12 +63,16 @@ export class TaskFilterService {
let filters: FilterRepresentationModel[] = []; let filters: FilterRepresentationModel[] = [];
res.forEach((filter) => { res.forEach((filter) => {
if (filter.name === involvedTasksFilter.name) { if (filter.name === involvedTasksFilter.name) {
involvedTasksFilter.id = filter.id;
filters.push(involvedTasksFilter); filters.push(involvedTasksFilter);
} else if (filter.name === myTasksFilter.name) { } else if (filter.name === myTasksFilter.name) {
myTasksFilter.id = filter.id;
filters.push(myTasksFilter); filters.push(myTasksFilter);
} else if (filter.name === queuedTasksFilter.name) { } else if (filter.name === queuedTasksFilter.name) {
queuedTasksFilter.id = filter.id;
filters.push(queuedTasksFilter); filters.push(queuedTasksFilter);
} else if (filter.name === completedTasksFilter.name) { } else if (filter.name === completedTasksFilter.name) {
completedTasksFilter.id = filter.id;
filters.push(completedTasksFilter); filters.push(completedTasksFilter);
} }
}); });