From 91befd6d79f3fe708fefff44bb24a7fdc8659942 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 13 Mar 2024 16:52:42 +0100 Subject: [PATCH] OZG-5009 encapsulate state and add missing test --- .../bescheiden.formservice.ts | 17 +++++++++++++---- .../vorgang-detail-bescheiden.component.spec.ts | 12 ++++++++++-- .../vorgang-detail-bescheiden.component.ts | 4 +++- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.formservice.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.formservice.ts index f0f9c250e1..f5655ad65e 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.formservice.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/bescheiden.formservice.ts @@ -1,15 +1,15 @@ import { Bescheid, BescheidService } from '@alfa-client/bescheid-shared'; import { AbstractFormService, - StateResource, asBoolean, formatForDatabase, + StateResource, } from '@alfa-client/tech-shared'; import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { Injectable } from '@angular/core'; import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms'; import { isNil } from 'lodash-es'; -import { BehaviorSubject, Observable, map, startWith } from 'rxjs'; +import { BehaviorSubject, map, Observable, startWith } from 'rxjs'; @Injectable() export class BescheidenFormService extends AbstractFormService { @@ -19,7 +19,7 @@ export class BescheidenFormService extends AbstractFormService { public readonly bescheidChanges$: BehaviorSubject<Bescheid>; - public vorgang: VorgangWithEingangResource; + private vorgangWithEingangResource: VorgangWithEingangResource; constructor( formBuilder: UntypedFormBuilder, @@ -65,7 +65,10 @@ export class BescheidenFormService extends AbstractFormService { } protected doSubmit(): Observable<StateResource<any>> { - return this.bescheidService.createBescheidDraft(this.vorgang, this.getValue()); + return this.bescheidService.createBescheidDraft( + this.vorgangWithEingangResource, + this.getValue(), + ); } public getValue(): Bescheid { @@ -79,4 +82,10 @@ export class BescheidenFormService extends AbstractFormService { public getBescheidChanges(): Observable<Bescheid> { return this.bescheidChanges$.asObservable(); } + + public setVorgangWithEingangResource( + vorgangWithEingangResource: VorgangWithEingangResource, + ): void { + this.vorgangWithEingangResource = vorgangWithEingangResource; + } } diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.spec.ts index 24d6b1d8c2..27efdfe3a1 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.spec.ts @@ -75,12 +75,20 @@ describe('VorgangDetailBescheidenComponent', () => { }); describe('ngOnInit', () => { + it('should set vorgang on form service', () => { + const setVorgangWithEingangResource = (formService.setVorgangWithEingangResource = jest.fn()); + + component.ngOnInit(); + + expect(setVorgangWithEingangResource).toBeCalledWith(vorgangWithEingangResource); + }); + it('should patch values', () => { - const mock = (formService.patchValues = jest.fn()); + const patchValues = (formService.patchValues = jest.fn()); component.ngOnInit(); - expect(mock).toBeCalledWith(bescheidDraftResource); + expect(patchValues).toBeCalledWith(bescheidDraftResource); }); }); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.ts index 9acc3dbab2..f4fb2cc67c 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden.component.ts @@ -24,7 +24,9 @@ export class VorgangDetailBescheidenComponent implements OnInit { } ngOnInit(): void { - this.formService.vorgang = this.dialogRef.config.data.vorgangWithEingangResource; + this.formService.setVorgangWithEingangResource( + this.dialogRef.config.data.vorgangWithEingangResource, + ); this.formService.patchValues(this.bescheidDraftResource); } -- GitLab