From 1b8b14eb916e4b94ce005438ea171bb91ed0d304 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 29 Oct 2024 17:37:22 +0100 Subject: [PATCH] OZG-6720 set empty string as form value for patching --- .../organisationseinheit.formservice.spec.ts | 22 ++++++++++++++++++- .../organisationseinheit.formservice.ts | 9 ++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts index 249af7021a..2e85911436 100644 --- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts +++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.spec.ts @@ -1,7 +1,8 @@ import { AdminOrganisationsEinheitResource } from '@admin-client/admin-settings'; -import { StateResource, createStateResource } from '@alfa-client/tech-shared'; +import { EMPTY_STRING, StateResource, createStateResource } from '@alfa-client/tech-shared'; import { Mock, mock, useFromMock } from '@alfa-client/test-utils'; import { FormBuilder } from '@angular/forms'; +import { faker } from '@faker-js/faker'; import { of } from 'rxjs'; import { createAdminOrganisationsEinheitResource } from '../../../../../test/organisations-einheit/organisations-einheit'; import { OrganisationsEinheitService } from '../../organisationseinheit.service'; @@ -39,4 +40,23 @@ describe('OrganisationsEinheitFormService', () => { expect(organisationsEinheitService.patch).toHaveBeenCalledWith(organisationsEinheitResource.settings); }); }); + + describe('buildPatchedOrganisationsEinheitSettings', () => { + it('should return empty string', () => { + service.form.controls[OrganisationsEinheitFormService.ORGANISATIONSEINHEIT_SIGNATUR_FIELD].setValue(null); + + const signatur: string = service.buildPatchedOrganisationsEinheitSettings().signatur; + + expect(signatur).toEqual(EMPTY_STRING); + }); + + it('should return signatur', () => { + const formValueSignatur: string = faker.lorem.word(2); + service.form.controls[OrganisationsEinheitFormService.ORGANISATIONSEINHEIT_SIGNATUR_FIELD].setValue(formValueSignatur); + + const signatur: string = service.buildPatchedOrganisationsEinheitSettings().signatur; + + expect(signatur).toEqual(formValueSignatur); + }); + }); }); diff --git a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts index 9cb9131e62..858a1081ef 100644 --- a/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts +++ b/alfa-client/libs/admin/settings/src/lib/organisationseinheit/organisationseinheit-form-container/organisationseinheit-form/organisationseinheit.formservice.ts @@ -1,4 +1,4 @@ -import { AdminOrganisationsEinheitResource } from '@admin-client/admin-settings'; +import { AdminOrganisationsEinheitResource, AdminOrganisationsEinheitSettings } from '@admin-client/admin-settings'; import { AbstractFormService, EMPTY_STRING, StateResource } from '@alfa-client/tech-shared'; import { Injectable } from '@angular/core'; import { FormControl, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; @@ -23,7 +23,12 @@ export class OrganisationsEinheitFormService extends AbstractFormService { } protected doSubmit(): Observable<StateResource<AdminOrganisationsEinheitResource>> { - return this.organisationsEinheitService.patch(this.getFormValue()); + return this.organisationsEinheitService.patch(this.buildPatchedOrganisationsEinheitSettings()); + } + + buildPatchedOrganisationsEinheitSettings(): AdminOrganisationsEinheitSettings { + const signatur: string = this.getFormValue().signatur ? this.getFormValue().signatur : ''; + return { signatur }; } protected getPathPrefix(): string { -- GitLab