From bf77663d6a5a399a53878d72a9c276b0dac45f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartosz=20Seku=C5=82a?= Date: Mon, 24 Jan 2022 12:36:35 +0100 Subject: [PATCH] [AAE-6310] Fix for attaching files (#7457) * [AAE-6310] Fix for attaching files * [AAE-6310] Update * [AAE-6310] Revert indentions changes * [AAE-6310] Fix tests --- .../start-process-cloud.component.spec.ts | 28 +++++++++++++++---- .../start-process-cloud.component.ts | 16 +++++------ 2 files changed, 30 insertions(+), 14 deletions(-) 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 ea8fed5f0d..79b9c22d03 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 @@ -44,6 +44,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { ProcessNameCloudPipe } from '../../../pipes/process-name-cloud.pipe'; import { ProcessInstanceCloud } from '../models/process-instance-cloud.model'; import { ESCAPE } from '@angular/cdk/keycodes'; +import { ProcessDefinitionCloud } from 'process-services-cloud'; describe('StartProcessCloudComponent', () => { @@ -827,17 +828,32 @@ describe('StartProcessCloudComponent', () => { expect(component.processInstanceName.value).toEqual('fake-transformed-name'); }); - it('should set the process name on init when a process definition name is present', () => { + it('should set the process name on when a process definition name is present', (done) => { + const definitions: ProcessDefinitionCloud[] = [{ + appName: 'app', + appVersion: 1, + category: '', + description: '', + id: 'id', + key: 'key', + name: 'fake-name', + version: 1 + }]; + + component.processInstanceName.valueChanges.subscribe((value) => { + expect(value).toBe(fakeTransformedName); + done(); + }); + + getDefinitionsSpy.and.returnValue(of(definitions)); + const processNameCloudPipe = TestBed.inject(ProcessNameCloudPipe); const fakeTransformedName = 'fake-transformed-name'; spyOn(processNameCloudPipe, 'transform').and.returnValue(fakeTransformedName); component.processDefinitionName = 'fake-name'; - component.ngOnInit(); - - expect(component.processInstanceName.dirty).toBe(true); - expect(component.processInstanceName.touched).toBe(true); - expect(component.processInstanceName.value).toEqual(fakeTransformedName); + const change = new SimpleChange(null, 'MyApp', true); + component.ngOnChanges({ 'appName': change }); }); it('should cancel bubbling a keydown event ()', () => { 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 7f73e93c21..82551841fd 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 @@ -139,14 +139,6 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy this.currentCreatedProcess = res; this.disableStartButton = false; }); - - if (this.processDefinitionName) { - this.processDefinition.setValue(this.processDefinitionName); - this.processDefinition.markAsDirty(); - this.processDefinition.markAsTouched(); - - this.setDefaultProcessName(this.processDefinitionName); - } } ngOnChanges(changes: SimpleChanges) { @@ -197,6 +189,7 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy private selectProcessDefinitionByProcesDefinitionName(processDefinitionName: string): void { this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinitionName); + if (this.isProcessFormValid() && this.filteredProcesses && this.filteredProcesses.length === 1) { this.setProcessDefinitionOnForm(this.filteredProcesses[0].name); @@ -252,6 +245,13 @@ export class StartProcessCloudComponent implements OnChanges, OnInit, OnDestroy this.selectDefaultProcessDefinition(); } else if (this.processDefinitionName) { this.processDefinition.setValue(this.processDefinitionName); + + const processDefinition = this.processDefinitionList.find(process => process.name === this.processDefinitionName); + if (processDefinition) { + this.filteredProcesses = this.getProcessDefinitionListByNameOrKey(processDefinition.name); + this.setProcessDefinitionOnForm(processDefinition.name); + this.processDefinitionSelectionChanged(processDefinition); + } } }, () => {