diff --git a/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.spec.ts b/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.spec.ts index 3a215a220f..bc8ccdcee9 100644 --- a/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.spec.ts +++ b/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.spec.ts @@ -998,6 +998,21 @@ describe('DropdownCloudWidgetComponent', () => { expect(widget.dropdownControl.value).toEqual({ id: 'testValue', name: '' }); }); + it('should set dropdownControl value when form field value gets changed', () => { + widget.field = { + value: { id: 'Id_1', name: 'Label 1' }, + options: [], + isVisible: true, + markAsValid: () => {} + } as FormFieldModel; + spyOn(widget.dropdownControl, 'setValue').and.callThrough(); + + widget.updateReactiveFormControl(); + + expect(widget.dropdownControl.setValue).toHaveBeenCalledWith({ id: 'Id_1', name: 'Label 1' }, { emitEvent: false }); + expect(widget.dropdownControl.value).toEqual({ id: 'Id_1', name: 'Label 1' }); + }); + it('should set dropdownControl value without emitting events if is an object', () => { widget.field = { value: { id: 'testValueObj', name: 'testValueObjName' }, diff --git a/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.ts b/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.ts index 0513bbee5a..f9376a4357 100644 --- a/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.ts +++ b/lib/process-services-cloud/src/lib/form/components/widgets/dropdown/dropdown-cloud.widget.ts @@ -137,6 +137,7 @@ export class DropdownCloudWidgetComponent extends WidgetComponent implements OnI } updateReactiveFormControl(): void { + this.setFormControlValue(); this.updateFormControlState(); this.handleErrors(); }