AAE-29002 Allow to filter processes by parentId (#10453)

* AAE-29002 Allow to filter processes by parentId

* AAE-29002 Move payload tests under describe Payload

* AAE-29002 Set parentId as optional
This commit is contained in:
Amedeo Lepore 2024-12-03 16:48:46 +01:00 committed by GitHub
parent b3cef95199
commit c92d34f2f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 60 additions and 20 deletions

View File

@ -253,6 +253,7 @@
"SUSPENDED_DATE": "Suspended Date",
"STARTED_BY": "Started by",
"COMPLETED_DATE": "Completed Date",
"MAIN_PROCESS_ID": "Main process id",
"DATE_RANGE": {
"NO_DATE": "No Date",
"TODAY": "Today",

View File

@ -691,6 +691,11 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges {
key: 'appVersion',
value: 'appVersion'
},
{
label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.MAIN_PROCESS_ID',
key: 'parentId',
value: 'parentId'
},
{
label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_INS_ID',
key: 'processInstanceId',
@ -767,6 +772,12 @@ export class EditProcessFilterCloudComponent implements OnInit, OnChanges {
key: 'processInstanceId',
value: filterModel.processInstanceId || ''
},
{
label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.MAIN_PROCESS_ID',
type: 'text',
key: 'parentId',
value: filterModel.parentId
},
{
label: 'ADF_CLOUD_EDIT_PROCESS_FILTER.LABEL.PROCESS_NAME',
type: 'text',

View File

@ -30,6 +30,7 @@ export class ProcessFilterCloudModel {
index: number;
appName: string;
appVersion?: number | number[];
parentId?: string;
processName: string;
processInstanceId: string;
initiator: string;
@ -81,6 +82,7 @@ export class ProcessFilterCloudModel {
}
this.processInstanceId = obj.processInstanceId || null;
this.parentId = obj.parentId || '';
this.processName = obj.processName || null;
this.initiator = obj.initiator || null;
this.status = obj.status || null;

View File

@ -152,31 +152,50 @@ describe('ProcessListCloudComponent', () => {
expect(component.rows.length).toEqual(3);
});
it('should the payload contain the appVersion if it is defined', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = 1;
component.ngAfterContentInit();
component.reload();
describe('Payload', () => {
it('should the payload contain the appVersion if it is defined', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = 1;
component.ngAfterContentInit();
component.reload();
expect(component.requestNode.appVersion).toEqual('1');
});
expect(component.requestNode.appVersion).toEqual('1');
});
it('should the payload contain all the app versions joined by a comma separator', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = [1, 2, 3];
component.ngAfterContentInit();
component.reload();
it('should the payload contain all the app versions joined by a comma separator', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = [1, 2, 3];
component.ngAfterContentInit();
component.reload();
expect(component.requestNode.appVersion).toEqual('1,2,3');
});
expect(component.requestNode.appVersion).toEqual('1,2,3');
});
it('should the payload NOT contain any app version when appVersion does not have a value', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = undefined;
component.ngAfterContentInit();
component.reload();
it('should the payload NOT contain any app version when appVersion does not have a value', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.appVersion = undefined;
component.ngAfterContentInit();
component.reload();
expect(component.requestNode.appVersion).toEqual('');
expect(component.requestNode.appVersion).toEqual('');
});
it('should the payload contain the parentId if it is defined', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.parentId = 'fake-parent-id';
component.ngAfterContentInit();
component.reload();
expect(component.requestNode.parentId).toEqual('fake-parent-id');
});
it('should the payload contain an empty parentId if it is NOT defined', () => {
spyOn(processListCloudService, 'getProcessByRequest').and.returnValue(of(fakeProcessCloudList));
component.ngAfterContentInit();
component.reload();
expect(component.requestNode.parentId).toBeUndefined();
});
});
it('should return the results if an application name is given', (done) => {

View File

@ -109,6 +109,10 @@ export class ProcessListCloudComponent
@Input()
name: string = '';
/** Filter the processes to display only the ones with this parentId. */
@Input()
parentId?: string;
/** Filter the processes to display only the ones with this process definition ID. */
@Input()
processDefinitionId: string = '';
@ -606,6 +610,7 @@ export class ProcessListCloudComponent
id: this.id,
environmentId: this.environmentId,
name: this.name,
parentId: this.parentId,
processDefinitionId: this.processDefinitionId,
processDefinitionName: this.processDefinitionName,
processDefinitionKey: this.processDefinitionKey,

View File

@ -27,6 +27,7 @@ export class ProcessQueryCloudRequestModel {
id?: string;
environmentId?: string;
name?: string;
parentId?: string;
processDefinitionId?: string;
processDefinitionName?: string;
processDefinitionKey?: string;
@ -56,6 +57,7 @@ export class ProcessQueryCloudRequestModel {
this.id = obj.id;
this.environmentId = obj.environmentId;
this.name = obj.name;
this.parentId = obj.parentId;
this.processDefinitionId = obj.processDefinitionId;
this.processDefinitionName = obj.processDefinitionName;
this.processDefinitionKey = obj.processDefinitionKey;