mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-04-23 22:30:37 +00:00
AAE-41605 Add ability to filter by linked processes (#11664)
This commit is contained in:
@@ -49,6 +49,7 @@ export class ProcessFilterCloudModel {
|
||||
suspendedDateType: DateCloudFilterType | null;
|
||||
includeSubprocesses: boolean | null;
|
||||
includeUnlinkedProcesses: boolean | null;
|
||||
includeLinkedProcesses: boolean | null;
|
||||
completedDate: Date | null;
|
||||
environmentId: string | null;
|
||||
showCounter: boolean;
|
||||
@@ -116,6 +117,7 @@ export class ProcessFilterCloudModel {
|
||||
this._suspendedTo = obj._suspendedTo || null;
|
||||
this.includeSubprocesses = obj.includeSubprocesses || null;
|
||||
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses || null;
|
||||
this.includeLinkedProcesses = obj.includeLinkedProcesses || null;
|
||||
|
||||
this.initArrayProperties(obj);
|
||||
}
|
||||
|
||||
@@ -735,6 +735,35 @@ describe('ProcessListCloudComponent', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('includeLinkedProcesses', () => {
|
||||
it('should set includeLinkedProcesses to true in request node when input is true', () => {
|
||||
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||
component.includeLinkedProcesses = true;
|
||||
component.ngAfterContentInit();
|
||||
component.reload();
|
||||
|
||||
expect(component.processListRequestNode.includeLinkedProcesses).toBeTrue();
|
||||
});
|
||||
|
||||
it('should set includeLinkedProcesses to false in request node when input is false', () => {
|
||||
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||
component.includeLinkedProcesses = false;
|
||||
component.ngAfterContentInit();
|
||||
component.reload();
|
||||
|
||||
expect(component.processListRequestNode.includeLinkedProcesses).toBeFalse();
|
||||
});
|
||||
|
||||
it('should omit includeLinkedProcesses in request node when input is null', () => {
|
||||
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||
component.includeLinkedProcesses = null;
|
||||
component.ngAfterContentInit();
|
||||
component.reload();
|
||||
|
||||
expect(component.processListRequestNode.includeLinkedProcesses).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
describe('processRelatedTo', () => {
|
||||
it('should include processRelatedTo in request node when values are provided', () => {
|
||||
spyOn(processListCloudService, 'fetchProcessList').and.returnValue(of(fakeProcessCloudList));
|
||||
|
||||
@@ -310,6 +310,10 @@ export class ProcessListCloudComponent
|
||||
@Input()
|
||||
includeUnlinkedProcesses: boolean | null = null;
|
||||
|
||||
/** Include linked processes in the process list. */
|
||||
@Input()
|
||||
includeLinkedProcesses: boolean | null = null;
|
||||
|
||||
/** Emitted when a row in the process list is clicked. */
|
||||
@Output()
|
||||
rowClick: EventEmitter<string> = new EventEmitter<string>();
|
||||
@@ -655,6 +659,7 @@ export class ProcessListCloudComponent
|
||||
suspendedTo: this.suspendedTo,
|
||||
includeSubprocesses: this.includeSubprocesses,
|
||||
includeUnlinkedProcesses: this.includeUnlinkedProcesses,
|
||||
includeLinkedProcesses: this.includeLinkedProcesses,
|
||||
processVariableKeys: this.getVariableDefinitionsRequestModel(),
|
||||
processVariableFilters: this.processVariables,
|
||||
processRelatedTo: this.processRelatedTo()
|
||||
|
||||
@@ -104,6 +104,7 @@ export class ProcessListRequestModel {
|
||||
suspendedTo?: string;
|
||||
includeSubprocesses?: boolean;
|
||||
includeUnlinkedProcesses?: boolean;
|
||||
includeLinkedProcesses?: boolean;
|
||||
processRelatedTo?: string[];
|
||||
|
||||
processVariableFilters?: ProcessVariableFilterModel[];
|
||||
@@ -135,6 +136,7 @@ export class ProcessListRequestModel {
|
||||
this.suspendedTo = obj.suspendedTo;
|
||||
this.includeSubprocesses = obj.includeSubprocesses;
|
||||
this.includeUnlinkedProcesses = obj.includeUnlinkedProcesses;
|
||||
this.includeLinkedProcesses = obj.includeLinkedProcesses;
|
||||
|
||||
this.processVariableKeys = obj.processVariableKeys;
|
||||
this.processVariableFilters = obj.processVariableFilters;
|
||||
|
||||
@@ -258,6 +258,48 @@ describe('ProcessListCloudService', () => {
|
||||
expect(requestBodyParams.includeUnlinkedProcesses).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('includeLinkedProcesses', () => {
|
||||
it('should include includeLinkedProcesses=true in body', async () => {
|
||||
const processRequest = {
|
||||
appName: 'fakeName',
|
||||
pagination: { skipCount: 0, maxItems: 20 },
|
||||
includeLinkedProcesses: true
|
||||
} as ProcessListRequestModel;
|
||||
requestSpy.and.callFake(returnCallBody);
|
||||
|
||||
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||
|
||||
expect(requestBodyParams).toEqual({ includeLinkedProcesses: true });
|
||||
});
|
||||
|
||||
it('should include includeLinkedProcesses=false in body', async () => {
|
||||
const processRequest = {
|
||||
appName: 'fakeName',
|
||||
pagination: { skipCount: 0, maxItems: 20 },
|
||||
includeLinkedProcesses: false
|
||||
} as ProcessListRequestModel;
|
||||
requestSpy.and.callFake(returnCallBody);
|
||||
|
||||
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||
|
||||
expect(requestBodyParams).toEqual({ includeLinkedProcesses: false });
|
||||
});
|
||||
|
||||
it('should omit includeLinkedProcesses when null', async () => {
|
||||
const processRequest = {
|
||||
appName: 'fakeName',
|
||||
pagination: { skipCount: 0, maxItems: 20 },
|
||||
includeLinkedProcesses: null
|
||||
} as unknown as ProcessListRequestModel;
|
||||
requestSpy.and.callFake(returnCallBody);
|
||||
|
||||
const requestBodyParams = await firstValueFrom(service.fetchProcessList(processRequest));
|
||||
|
||||
expect(requestBodyParams).toEqual({});
|
||||
expect(requestBodyParams.includeLinkedProcesses).toBeUndefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('getAdminProcessRequest', () => {
|
||||
|
||||
@@ -121,6 +121,7 @@ export class ProcessListCloudService extends BaseCloudService {
|
||||
processVariableFilters: requestNode.processVariableFilters,
|
||||
includeSubprocesses: requestNode.includeSubprocesses,
|
||||
includeUnlinkedProcesses: requestNode.includeUnlinkedProcesses,
|
||||
includeLinkedProcesses: requestNode.includeLinkedProcesses,
|
||||
processRelatedTo: requestNode.processRelatedTo
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user