[AAE-4127] [process-services] [APS1] Return Create Filters API response instead of the default payload (#6370)

* [AAE-4127] [process-services] [APS1] Return Create Filters API response instead of the default payload

* * Added unit tests
This commit is contained in:
siva kumar
2020-11-23 16:58:32 +05:30
committed by GitHub
parent 5e056362cf
commit a6edfd98c1
4 changed files with 105 additions and 14 deletions

View File

@@ -143,6 +143,49 @@ describe('Process filter', () => {
});
});
it('should be able create filters and add sorting information to the response', (done) => {
service.createDefaultFilters(1234).subscribe((res: FilterProcessRepresentationModel []) => {
expect(res).toBeDefined();
expect(res.length).toEqual(3);
expect(res[0].name).toEqual('Running');
expect(res[0].filter.sort).toEqual('created-desc');
expect(res[0].filter.state).toEqual('running');
expect(res[1].name).toEqual('Completed');
expect(res[1].filter.sort).toEqual('created-desc');
expect(res[1].filter.state).toEqual('completed');
expect(res[2].name).toEqual('All');
expect(res[2].filter.sort).toEqual('created-desc');
expect(res[2].filter.state).toEqual('all');
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(() => {
getFilters = getFilters.and.returnValue(Promise.reject(mockError));

View File

@@ -108,14 +108,11 @@ export class ProcessFilterService {
const filters: FilterProcessRepresentationModel[] = [];
res.forEach((filter) => {
if (filter.name === runningFilter.name) {
runningFilter.id = filter.id;
filters.push(runningFilter);
filters.push(new FilterProcessRepresentationModel({ ...filter, filter: runningFilter.filter, appId }));
} else if (filter.name === completedFilter.name) {
completedFilter.id = filter.id;
filters.push(completedFilter);
filters.push(new FilterProcessRepresentationModel({ ...filter, filter: completedFilter.filter, appId }));
} else if (filter.name === allFilter.name) {
allFilter.id = filter.id;
filters.push(allFilter);
filters.push(new FilterProcessRepresentationModel({ ...filter, filter: allFilter.filter, appId }));
}
});
observer.next(filters);

View File

@@ -174,6 +174,61 @@ describe('Activiti Task filter Service', () => {
});
});
it('should be able create filters and add sorting information to the response', (done) => {
service.createDefaultFilters(1234).subscribe((res: FilterRepresentationModel []) => {
expect(res).toBeDefined();
expect(res.length).toEqual(4);
expect(res[0].name).toEqual('My Tasks');
expect(res[0].filter.sort).toEqual('created-desc');
expect(res[0].filter.assignment).toEqual('assignee');
expect(res[1].name).toEqual('Involved Tasks');
expect(res[1].filter.sort).toEqual('created-desc');
expect(res[1].filter.assignment).toEqual('involved');
expect(res[2].name).toEqual('Queued Tasks');
expect(res[2].filter.sort).toEqual('created-desc');
expect(res[2].filter.assignment).toEqual('candidate');
expect(res[3].name).toEqual('Completed Tasks');
expect(res[3].filter.sort).toEqual('created-desc');
expect(res[3].filter.assignment).toEqual('involved');
done();
});
jasmine.Ajax.requests.at(0).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 111, name: 'My Tasks', icon: 'fake-icon', recent: false
})
});
jasmine.Ajax.requests.at(1).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 222, name: 'Involved Tasks', icon: 'fake-icon', recent: false
})
});
jasmine.Ajax.requests.at(2).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 333, name: 'Queued Tasks', icon: 'fake-icon', recent: false
})
});
jasmine.Ajax.requests.at(3).respondWith({
'status': 200,
contentType: 'application/json',
responseText: JSON.stringify({
appId: 1001, id: 444, name: 'Completed Tasks', icon: 'fake-icon', recent: false
})
});
});
it('should add a filter', (done) => {
const filterFake = new FilterRepresentationModel({
name: 'FakeNameFilter',

View File

@@ -60,17 +60,13 @@ export class TaskFilterService {
const filters: FilterRepresentationModel[] = [];
res.forEach((filter) => {
if (filter.name === involvedTasksFilter.name) {
involvedTasksFilter.id = filter.id;
filters.push(involvedTasksFilter);
filters.push(new FilterRepresentationModel({ ...filter, filter: involvedTasksFilter.filter, appId }));
} else if (filter.name === myTasksFilter.name) {
myTasksFilter.id = filter.id;
filters.push(myTasksFilter);
filters.push(new FilterRepresentationModel({ ...filter, filter: myTasksFilter.filter, appId }));
} else if (filter.name === queuedTasksFilter.name) {
queuedTasksFilter.id = filter.id;
filters.push(queuedTasksFilter);
filters.push(new FilterRepresentationModel({ ...filter, filter: queuedTasksFilter.filter, appId }));
} else if (filter.name === completedTasksFilter.name) {
completedTasksFilter.id = filter.id;
filters.push(completedTasksFilter);
filters.push(new FilterRepresentationModel({ ...filter, filter: completedTasksFilter.filter, appId }));
}
});
observer.next(filters);