diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.spec.ts index 7a892cb44c19c0b3826281b874991630930ff336..893c337ba18e0c86c6454628e475431305b092ba 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.spec.ts @@ -128,5 +128,14 @@ describe('VorgangDetailBescheidenResultNachrichtComponent', () => { expect(formService.patchNachricht).not.toHaveBeenCalled(); }); + + it.each([null, undefined])( + 'should not patch form if document resource is %s', + (resource: DocumentResource) => { + component.bescheidDocumentStateResource = createStateResource(resource); + + expect(formService.patchNachricht).not.toHaveBeenCalled(); + }, + ); }); }); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.ts index fffb51e8555034313271c3d39bff2830defe8119..9dd0fca6fb796f1d47f773d147fdd54954ae1756 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-bescheiden/vorgang-detail-bescheiden-result/vorgang-detail-bescheiden-result-nachricht/vorgang-detail-bescheiden-result-nachricht.component.ts @@ -1,5 +1,5 @@ import { BescheidService, DocumentResource } from '@alfa-client/bescheid-shared'; -import { StateResource } from '@alfa-client/tech-shared'; +import { StateResource, isNotNil } from '@alfa-client/tech-shared'; import { Component, Input, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { Observable } from 'rxjs'; @@ -11,7 +11,7 @@ import { BescheidenFormService } from '../../bescheiden.formservice'; }) export class VorgangDetailBescheidenResultNachrichtComponent implements OnInit { @Input() set bescheidDocumentStateResource(stateResource: StateResource<DocumentResource>) { - if (!stateResource.loading && !stateResource.error) { + if (!stateResource.loading && !stateResource.error && isNotNil(stateResource.resource)) { this.formService.patchNachricht(stateResource.resource); } } 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 46dd5111642b4781159e42e073f20a13214807e2..c82b596f3669350ebd42f569cae44749fa9c92f8 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 @@ -1,4 +1,5 @@ import { BescheidResource, BescheidService } from '@alfa-client/bescheid-shared'; +import { PostfachService } from '@alfa-client/postfach-shared'; import { Mock, dispatchEventFromFixture, mock, useFromMock } from '@alfa-client/test-utils'; import { VorgangService, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog'; @@ -23,6 +24,7 @@ describe('VorgangDetailBescheidenComponent', () => { let vorgangService: Mock<VorgangService>; let formService: BescheidenFormService; let dialogRef: Mock<DialogRef>; + let postfachService: Mock<PostfachService>; let vorgangWithEingangResource: VorgangWithEingangResource; let bescheidDraftResource: BescheidResource; @@ -34,6 +36,7 @@ describe('VorgangDetailBescheidenComponent', () => { vorgangService = mock(VorgangService); formService = new BescheidenFormService(new UntypedFormBuilder(), useFromMock(bescheidService)); dialogRef = mock(DialogRef); + postfachService = mock(PostfachService); vorgangWithEingangResource = createVorgangWithEingangResource(); bescheidDraftResource = createBescheidResource(); @@ -73,6 +76,10 @@ describe('VorgangDetailBescheidenComponent', () => { provide: DIALOG_DATA, useValue: { vorgangWithEingangResource, bescheidDraftResource }, }, + { + provide: PostfachService, + useValue: postfachService, + }, ], imports: [ReactiveFormsModule], }).compileComponents(); @@ -116,6 +123,12 @@ describe('VorgangDetailBescheidenComponent', () => { expect(vorgangService.reloadCurrentVorgang).toHaveBeenCalled(); }); + + it('should reload postfach mail list', () => { + component.onClose(); + + expect(postfachService.setPostfachMailOnReload).toHaveBeenCalled(); + }); }); describe('close dialog on bescheiden result', () => { 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 9223a68d605e8575a1d48b764a6e839280c7152f..c3a880423edbb95b2b2153db66b3202ae9dd7bad 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 @@ -1,4 +1,5 @@ import { BescheidResource } from '@alfa-client/bescheid-shared'; +import { PostfachService } from '@alfa-client/postfach-shared'; import { VorgangService } from '@alfa-client/vorgang-shared'; import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog'; import { Component, Inject, OnInit } from '@angular/core'; @@ -17,8 +18,9 @@ export class VorgangDetailBescheidenComponent implements OnInit { constructor( public dialogRef: DialogRef, - public formService: BescheidenFormService, - private vorgangService: VorgangService, + public readonly formService: BescheidenFormService, + private readonly vorgangService: VorgangService, + private readonly postfachService: PostfachService, @Inject(DIALOG_DATA) private readonly dialogData: BescheidenDialogData, ) { this.bescheidDraftResource = dialogData.bescheidDraftResource; @@ -32,5 +34,6 @@ export class VorgangDetailBescheidenComponent implements OnInit { public onClose(): void { this.dialogRef.close(); this.vorgangService.reloadCurrentVorgang(); + this.postfachService.setPostfachMailOnReload(); } }