[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}"
*ngIf="processFilter && !isStartProcessMode()">
<adf-process-instance-list
*ngIf="processFilter?.hasFilter()" [appId]="processFilter.appId"
[processDefinitionKey]="processFilter.filter.processDefinitionKey"
[name]="processFilter.filter.name"
*ngIf="processFilter?.filter" [appId]="processFilter?.appId"
[processDefinitionKey]="processFilter?.filter?.processDefinitionKey"
[name]="processFilter?.filter?.name"
[presetColumn]="presetColoum"
[state]="processFilter.filter.state"
[sort]="processFilter.filter.sort"
[state]="processFilter?.filter?.state"
[sort]="processFilter?.filter?.sort"
[data]="dataProcesses"
(rowClick)="onProcessRowClick($event)"
(row-dblclick)="onProcessRowDblClick($event)"

View File

@ -23,6 +23,8 @@ import { mockError, fakeProcessFilters } from '../../mock';
import { FilterProcessRepresentationModel } from '../models/filter-process.model';
import { ProcessFilterService } from './process-filter.service';
declare let jasmine: any;
describe('Process filter', () => {
let service: ProcessFilterService;
@ -51,9 +53,11 @@ describe('Process filter', () => {
.and
.returnValue(Promise.resolve(fakeProcessFilters));
createFilter = spyOn(alfrescoApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter')
.and
.callFake((filter: FilterProcessRepresentationModel) => Promise.resolve(filter));
jasmine.Ajax.install();
});
afterEach(() => {
jasmine.Ajax.uninstall();
});
describe('get filters', () => {
@ -103,16 +107,41 @@ describe('Process filter', () => {
}));
it('should return the default filters', (done) => {
service.createDefaultFilters(1234).subscribe(
(res: FilterProcessRepresentationModel []) => {
expect(res).toBeDefined();
expect(res.length).toEqual(3);
expect(res[0].name).toEqual('Running');
expect(res[1].name).toEqual('Completed');
expect(res[2].name).toEqual('All');
done();
}
);
service.createDefaultFilters(1234).subscribe((res: FilterProcessRepresentationModel []) => {
expect(res).toBeDefined();
expect(res.length).toEqual(3);
expect(res[0].name).toEqual('Running');
expect(res[0].id).toEqual(111);
expect(res[1].name).toEqual('Completed');
expect(res[1].id).toEqual(222);
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(() => {
@ -130,6 +159,12 @@ describe('Process filter', () => {
describe('add filter', () => {
beforeEach(() => {
createFilter = spyOn(alfrescoApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter')
.and
.callFake((processfilter: FilterProcessRepresentationModel) => Promise.resolve(processfilter));
});
let filter = fakeProcessFilters.data[0];
it('should call the API to create the filter', () => {

View File

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

View File

@ -26,7 +26,7 @@ import { TaskFilterService } from './task-filter.service';
declare let jasmine: any;
describe('Activiti Tas filter Service', () => {
describe('Activiti Task filter Service', () => {
let service: TaskFilterService;
@ -131,9 +131,13 @@ describe('Activiti Tas filter Service', () => {
expect(res).toBeDefined();
expect(res.length).toEqual(4);
expect(res[0].name).toEqual('Involved Tasks');
expect(res[0].id).toEqual(111);
expect(res[1].name).toEqual('My Tasks');
expect(res[1].id).toEqual(222);
expect(res[2].name).toEqual('Queued Tasks');
expect(res[2].id).toEqual(333);
expect(res[3].name).toEqual('Completed Tasks');
expect(res[3].id).toEqual(444);
done();
});
@ -141,7 +145,7 @@ describe('Activiti Tas filter Service', () => {
'status': 200,
contentType: 'application/json',
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,
contentType: 'application/json',
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,
contentType: 'application/json',
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,
contentType: 'application/json',
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[] = [];
res.forEach((filter) => {
if (filter.name === involvedTasksFilter.name) {
involvedTasksFilter.id = filter.id;
filters.push(involvedTasksFilter);
} else if (filter.name === myTasksFilter.name) {
myTasksFilter.id = filter.id;
filters.push(myTasksFilter);
} else if (filter.name === queuedTasksFilter.name) {
queuedTasksFilter.id = filter.id;
filters.push(queuedTasksFilter);
} else if (filter.name === completedTasksFilter.name) {
completedTasksFilter.id = filter.id;
filters.push(completedTasksFilter);
}
});