From 75fe82f595c08f1b71d37ef4ff1a26f915f2eb8b Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 15 May 2024 16:49:24 +0200
Subject: [PATCH] OZG-5294 fix tests

---
 .../abschliessen-button.component.html        |  2 +-
 .../abschliessen-button.component.spec.ts     | 31 ++++++++++++++++++-
 .../abschliessen-button.component.ts          |  4 +--
 .../vorgang-detail-page.component.html        | 15 +++++----
 4 files changed, 42 insertions(+), 10 deletions(-)

diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
index 620a09484a..897a93130b 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.html
@@ -23,7 +23,7 @@
     unter der Lizenz sind dem Lizenztext zu entnehmen.
 
 -->
-<ng-container *ngIf="vorgang | hasLink: linkRel.ABSCHLIESSEN && !inProgress">
+<ng-container *ngIf="!isVorgangInBearbeitung && vorgang | hasLink: linkRel.ABSCHLIESSEN">
   <ozgcloud-stroked-button-with-spinner
     *ngIf="!showAsIconButton"
     data-test-id="abschliessen-button"
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
index 2a96a3b53a..1b919cbc84 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.spec.ts
@@ -33,7 +33,11 @@ import {
   IconButtonWithSpinnerComponent,
   OzgcloudStrokedButtonWithSpinnerComponent,
 } from '@alfa-client/ui';
-import { VorgangCommandService, VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
+import {
+  VorgangCommandService,
+  VorgangStatus,
+  VorgangWithEingangLinkRel,
+} from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { createCommandResource } from 'libs/command-shared/test/command';
 import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
@@ -74,6 +78,7 @@ describe('AbschliessenButtonComponent', () => {
   beforeEach(() => {
     fixture = TestBed.createComponent(AbschliessenButtonComponent);
     component = fixture.componentInstance;
+    component.vorgang = createVorgangWithEingangResource();
     fixture.detectChanges();
   });
 
@@ -129,6 +134,18 @@ describe('AbschliessenButtonComponent', () => {
       expect(buttonElement).not.toBeInstanceOf(HTMLElement);
     });
 
+    it('should be hidden if in bearbeitung', () => {
+      component.vorgang = createVorgangWithEingangResource([
+        VorgangWithEingangLinkRel.ABSCHLIESSEN,
+      ]);
+      component.vorgang.status = VorgangStatus.IN_BEARBEITUNG;
+
+      fixture.detectChanges();
+      const buttonElement = fixture.nativeElement.querySelector(abschliessenButton);
+
+      expect(buttonElement).not.toBeInstanceOf(HTMLElement);
+    });
+
     it('should be visible', () => {
       component.vorgang = createVorgangWithEingangResource([
         VorgangWithEingangLinkRel.ABSCHLIESSEN,
@@ -156,6 +173,18 @@ describe('AbschliessenButtonComponent', () => {
       expect(buttonElement).not.toBeInstanceOf(HTMLElement);
     });
 
+    it('should be hidden if in bearbeitung', () => {
+      component.vorgang = createVorgangWithEingangResource([
+        VorgangWithEingangLinkRel.ABSCHLIESSEN,
+      ]);
+      component.vorgang.status = VorgangStatus.IN_BEARBEITUNG;
+
+      fixture.detectChanges();
+      const buttonElement = fixture.nativeElement.querySelector(abschliessenIconButton);
+
+      expect(buttonElement).not.toBeInstanceOf(HTMLElement);
+    });
+
     it('should be visible', () => {
       component.vorgang = createVorgangWithEingangResource([
         VorgangWithEingangLinkRel.ABSCHLIESSEN,
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts
index 6f3b861967..c8475e5aae 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/abschliessen-button/abschliessen-button.component.ts
@@ -56,7 +56,7 @@ export class AbschliessenButtonComponent implements OnInit {
     this.commandStateResource$ = this.vorgangCommandService.abschliessen(this.vorgang);
   }
 
-  get inProgress(): boolean {
-    return this.vorgang?.status === 'IN_BEARBEITUNG';
+  get isVorgangInBearbeitung(): boolean {
+    return this.vorgang.status === 'IN_BEARBEITUNG';
   }
 }
diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
index 1e51374689..87cdaf2c9b 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.html
@@ -26,16 +26,19 @@
 <ng-container *ngIf="vorgangStateResource$ | async as vorgangStateResource">
   <ozgcloud-subnavigation class="mat-typography mat-app-background">
     <alfa-vorgang-detail-back-button-container></alfa-vorgang-detail-back-button-container>
-    <alfa-vorgang-detail-action-buttons
-      [vorgangWithEingang]="vorgangStateResource.resource"
-    ></alfa-vorgang-detail-action-buttons>
-    <alfa-vorgang-detail-more-menu
-      [vorgangWithEingang]="vorgangStateResource.resource"
-    ></alfa-vorgang-detail-more-menu>
+    <ng-container *ngIf="vorgangStateResource.resource">
+      <alfa-vorgang-detail-action-buttons
+        [vorgangWithEingang]="vorgangStateResource.resource"
+      ></alfa-vorgang-detail-action-buttons>
+      <alfa-vorgang-detail-more-menu
+        [vorgangWithEingang]="vorgangStateResource.resource"
+      ></alfa-vorgang-detail-more-menu>
+    </ng-container>
   </ozgcloud-subnavigation>
 
   <div class="l-scroll-area--full">
     <alfa-vorgang-detail-area
+      *ngIf="vorgangStateResource"
       [vorgangStateResource]="vorgangStateResource"
     ></alfa-vorgang-detail-area>
   </div>
-- 
GitLab