diff --git a/lib/core/form/components/form-renderer.component.spec.ts b/lib/core/form/components/form-renderer.component.spec.ts index ba80be3a59..d3c6bb7dfa 100644 --- a/lib/core/form/components/form-renderer.component.spec.ts +++ b/lib/core/form/components/form-renderer.component.spec.ts @@ -74,7 +74,7 @@ describe('Form Renderer Component', () => { }); it('Should be able to see Display value widget when visibility condition refers to another field with specific value', async () => { - formRendererComponent.formDefinition = formService.parseForm(formDisplayValueVisibility); + formRendererComponent.formDefinition = formService.parseForm(formDisplayValueVisibility.formRepresentation.formDefinition); fixture.detectChanges(); await fixture.whenStable(); @@ -92,7 +92,7 @@ describe('Form Renderer Component', () => { }); it('Should be able to see Display value widget when visibility condition refers to a form variable and a field', async () => { - formRendererComponent.formDefinition = formService.parseForm(formDisplayValueForm); + formRendererComponent.formDefinition = formService.parseForm(formDisplayValueForm.formRepresentation.formDefinition); fixture.detectChanges(); await fixture.whenStable(); let displayValueElementContainer: HTMLDivElement = fixture.nativeElement.querySelector('#field-DisplayValueOne-container'); @@ -116,7 +116,7 @@ describe('Form Renderer Component', () => { }); it('Should be able to see Display value widget when visibility condition refers to another field and form variable', async () => { - formRendererComponent.formDefinition = formService.parseForm(formDisplayValueForm); + formRendererComponent.formDefinition = formService.parseForm(formDisplayValueForm.formRepresentation.formDefinition); fixture.detectChanges(); await fixture.whenStable(); let displayValueElementContainer: HTMLDivElement = fixture.nativeElement.querySelector('#field-DisplayValueVariableField-container'); @@ -140,7 +140,7 @@ describe('Form Renderer Component', () => { }); it('Should be able to see Display value widget when has multiple visibility conditions and next condition operators', async () => { - formRendererComponent.formDefinition = formService.parseForm(formDisplayValueCombinedVisibility); + formRendererComponent.formDefinition = formService.parseForm(formDisplayValueCombinedVisibility.formRepresentation.formDefinition); fixture.detectChanges(); await fixture.whenStable(); const textInputElement: HTMLInputElement = fixture.nativeElement.querySelector('#Text0bq3ar'); diff --git a/lib/core/form/components/mock/form-renderer.component.mock.ts b/lib/core/form/components/mock/form-renderer.component.mock.ts index 1bc25660af..e4c4e1ed25 100644 --- a/lib/core/form/components/mock/form-renderer.component.mock.ts +++ b/lib/core/form/components/mock/form-renderer.component.mock.ts @@ -15,7 +15,8 @@ * limitations under the License. */ -export const formDisplayValueVisibility = {formRepresentation: { +export const formDisplayValueVisibility = { + formRepresentation: { id: 'form-3175b074-53c6-4b5b-92df-246b62108db3', name: 'displayValueVisibility', description: '', diff --git a/lib/core/form/services/form.service.ts b/lib/core/form/services/form.service.ts index 4480421b25..85bc4c117c 100644 --- a/lib/core/form/services/form.service.ts +++ b/lib/core/form/services/form.service.ts @@ -102,18 +102,7 @@ export class FormService { */ parseForm(json: any, data?: FormValues, readOnly: boolean = false): FormModel { if (json) { - const flattenForm = { - ...json.formRepresentation, - ...json.formRepresentation.formDefinition - }; - delete flattenForm.formDefinition; - - const formValues: FormValues = {}; - (data || []).forEach(variable => { - formValues[variable.name] = variable.value; - }); - - const form = new FormModel(flattenForm, formValues, readOnly); + const form = new FormModel(json, data, readOnly, this); if (!json.fields) { form.outcomes = [ new FormOutcomeModel( form, {