diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts index dd8963578d..2cceba3526 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.spec.ts @@ -451,6 +451,27 @@ describe('StartProcessCloudComponent', () => { }); })); + it('should select automatically the form when processDefinition is selected as default', fakeAsync(() => { + getDefinitionsSpy = getDefinitionsSpy.and.returnValue(of([fakeProcessDefinitions[0]])); + formDefinitionSpy = spyOn(formCloudService, 'getForm').and.returnValue(of(fakeStartForm)); + const change = new SimpleChange('myApp', 'myApp1', true); + component.ngOnInit(); + component.ngOnChanges({ appName: change }); + component.processForm.controls['processDefinition'].setValue('process'); + fixture.detectChanges(); + tick(3000); + component.processDefinitionName = fakeProcessDefinitions[0].name; + component.setProcessDefinitionOnForm(fakeProcessDefinitions[0].name); + fixture.detectChanges(); + tick(3000); + + fixture.whenStable().then(() => { + const processForm = fixture.nativeElement.querySelector('adf-cloud-form'); + expect(component.hasForm()).toBeTruthy(); + expect(processForm).not.toBeNull(); + }); + })); + it('should not select automatically any processDefinition if the app contain multiple process and does not have any processDefinition as input', async(() => { getDefinitionsSpy = getDefinitionsSpy.and.returnValue(of(fakeProcessDefinitions)); component.appName = 'myApp'; diff --git a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts index f11b260bd1..c2c31e0f8b 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/process/start-process/components/start-process-cloud.component.ts @@ -226,6 +226,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy const selectedProcess = this.getProcessDefinitionByName(this.processDefinitionName); if (selectedProcess) { this.processDefinition.setValue(selectedProcess.name); + this.processDefinitionSelectionChanged(selectedProcess); } } diff --git a/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts b/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts index eaa2bf4652..1aee35be32 100755 --- a/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts +++ b/lib/process-services-cloud/src/lib/process/start-process/mock/start-process.component.mock.ts @@ -50,7 +50,7 @@ export let fakeProcessDefinitions: ProcessDefinitionCloud[] = [ id: 'NewProcess:1', name: 'processwithoutform1', key: 'process-12345-f992-4ee6-9742-3a04617469fe', - formKey: '' + formKey: 'mockFormKey' }), new ProcessDefinitionCloud({ appName: 'myApp',