From 35d9642592d9a9041bd8523b245448a2833ee023 Mon Sep 17 00:00:00 2001
From: sebo <sebastian.bergandy@external.mgm-cp.com>
Date: Fri, 7 Mar 2025 12:48:49 +0100
Subject: [PATCH] OZG-6185 refresh bescheid list on wizard exit

---
 .../src/lib/bescheid-shared.module.ts         | 19 -------------------
 .../src/lib/bescheid.service.spec.ts          |  6 ++++++
 .../src/lib/bescheid.service.ts               |  7 ++++---
 3 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts
index 6e13cc4305..7c011dec93 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid-shared.module.ts
@@ -21,31 +21,12 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { CommandService } from '@alfa-client/command-shared';
-import { ResourceRepository } from '@alfa-client/tech-shared';
-import { VorgangService } from '@alfa-client/vorgang-shared';
 import { CommonModule } from '@angular/common';
 import { NgModule } from '@angular/core';
 import { StoreModule } from '@ngrx/store';
 import { BESCHEID_FEATURE_KEY, reducer } from './+state/bescheid.reducer';
-import { BescheidListResourceService, createBescheidListResourceService } from './bescheid-list-resource-service';
-import { BescheidResourceService, createBescheidResourceService } from './bescheid-resource-service';
-import { BescheidService } from './bescheid.service';
 
 @NgModule({
   imports: [CommonModule, StoreModule.forFeature(BESCHEID_FEATURE_KEY, reducer)],
-  providers: [
-    BescheidService,
-    {
-      provide: BescheidResourceService,
-      useFactory: createBescheidResourceService,
-      deps: [ResourceRepository, CommandService, VorgangService],
-    },
-    {
-      provide: BescheidListResourceService,
-      useFactory: createBescheidListResourceService,
-      deps: [ResourceRepository, VorgangService],
-    },
-  ],
 })
 export class BescheidSharedModule {}
diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
index 9ce1e5f2ab..d22faf648e 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
@@ -138,6 +138,12 @@ describe('BescheidService', () => {
       service._clearUploadedFiles = jest.fn();
     });
 
+    it('should reload bescheid list', () => {
+      service.exit();
+
+      expect(bescheidListResourceService.refresh).toHaveBeenCalled();
+    });
+
     it('should reload postfach list', () => {
       service.exit();
 
diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
index ec6a90a43a..f7b1e2f64b 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
@@ -64,15 +64,15 @@ export class BescheidService {
   private readonly binaryFileService = inject(BinaryFileService);
   private readonly resourceRepository = inject(ResourceRepository);
   private readonly postfachService = inject(PostfachService);
-  private readonly vorgangSvc = inject(VorgangService);
+  private readonly vorgangService = inject(VorgangService);
   // The injection of this service and the one below is problematic.
   // It must be analysed how to inject BescheidService via providers in BescheidSharedModule.
   private readonly bescheidResourceService = createBescheidResourceService(
     this.resourceRepository,
     this.commandService,
-    this.vorgangSvc,
+    this.vorgangService,
   );
-  private readonly bescheidListResourceService = createBescheidListResourceService(this.resourceRepository, this.vorgangSvc);
+  private readonly bescheidListResourceService = createBescheidListResourceService(this.resourceRepository, this.vorgangService);
 
   readonly _bescheidDocument$: BehaviorSubject<BescheidDocument> = new BehaviorSubject(createEmptyBescheidDocument());
   readonly _wizard$: BehaviorSubject<Wizard> = new BehaviorSubject(createInitialWizard());
@@ -83,6 +83,7 @@ export class BescheidService {
   }
 
   public exit(): void {
+    this.bescheidListResourceService.refresh();
     this.postfachService.setPostfachMailOnReload();
     this._clearUploadedFiles();
   }
-- 
GitLab