From fb99615296111a5bbcee808a05e49911c571a87c Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 16 May 2024 08:55:24 +0200
Subject: [PATCH] OZG-5294 Add tests for vorgang-detail-page

---
 .../vorgang-detail-page.component.spec.ts     | 75 ++++++++++++++++++-
 1 file changed, 72 insertions(+), 3 deletions(-)

diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
index c22913961f..b6cdb6d313 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-page.component.spec.ts
@@ -21,11 +21,13 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { MatIcon } from '@angular/material/icon';
 import { LoeschAnforderungService } from '@alfa-client/loesch-anforderung-shared';
 import { StateResource, createStateResource } from '@alfa-client/tech-shared';
-import { getDebugElementFromFixtureByCss, mock } from '@alfa-client/test-utils';
+import {
+  getDebugElementFromFixtureByCss,
+  getElementFromFixture,
+  mock,
+} from '@alfa-client/test-utils';
 import { SpinnerComponent, SpinnerTransparencyComponent } from '@alfa-client/ui';
 import {
   VorgangCommandService,
@@ -33,6 +35,8 @@ import {
   VorgangWithEingang,
   VorgangWithEingangResource,
 } from '@alfa-client/vorgang-shared';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { MatIcon } from '@angular/material/icon';
 import { ProgressBarComponent } from 'libs/ui/src/lib/ui/progress-bar/progress-bar.component';
 import { SubnavigationComponent } from 'libs/ui/src/lib/ui/subnavigation/subnavigation.component';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
@@ -42,6 +46,7 @@ import { VorgangDetailActionButtonsComponent } from './vorgang-detail-area/vorga
 import { VorgangDetailAreaComponent } from './vorgang-detail-area/vorgang-detail-area.component';
 import { VorgangDetailFormularButtonsComponent } from './vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component';
 import { VorgangDetailBackButtonContainerComponent } from './vorgang-detail-back-button-container/vorgang-detail-back-button-container.component';
+import { VorgangDetailMoreMenuComponent } from './vorgang-detail-more-menu/vorgang-detail-more-menu.component';
 import { VorgangDetailPageComponent } from './vorgang-detail-page.component';
 
 describe('VorgangDetailPageComponent', () => {
@@ -59,6 +64,9 @@ describe('VorgangDetailPageComponent', () => {
   const vorgangWithEingang: VorgangWithEingangResource = createVorgangWithEingangResource();
 
   const subnavigation: string = 'ozgcloud-subnavigation';
+  const actionButtons: string = 'alfa-vorgang-detail-action-buttons';
+  const moreMenu: string = 'alfa-vorgang-detail-more-menu';
+  const detailArea: string = 'alfa-vorgang-detail-area';
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -71,6 +79,7 @@ describe('VorgangDetailPageComponent', () => {
         MockComponent(VorgangDetailActionButtonsComponent),
         MockComponent(VorgangDetailFormularButtonsComponent),
         MockComponent(VorgangDetailBackButtonContainerComponent),
+        MockComponent(VorgangDetailMoreMenuComponent),
         MockComponent(SpinnerComponent),
         MockComponent(SpinnerTransparencyComponent),
       ],
@@ -142,4 +151,64 @@ describe('VorgangDetailPageComponent', () => {
       expect(subnavigationElement).toBeDefined();
     });
   });
+
+  describe('action buttons', () => {
+    it('should be hidden', () => {
+      getVorgangWithEingangSubj.next(null);
+      fixture.detectChanges();
+
+      const actionButtonsElement = getElementFromFixture(fixture, actionButtons);
+
+      expect(actionButtonsElement).toBeNull();
+    });
+
+    it('should be visible', () => {
+      getVorgangWithEingangSubj.next(createStateResource(vorgangWithEingang));
+      fixture.detectChanges();
+
+      const actionButtonsElement = getElementFromFixture(fixture, actionButtons);
+
+      expect(actionButtonsElement).toBeDefined();
+    });
+  });
+
+  describe('more menu', () => {
+    it('should be hidden', () => {
+      getVorgangWithEingangSubj.next(null);
+      fixture.detectChanges();
+
+      const moreMenuElement = getElementFromFixture(fixture, moreMenu);
+
+      expect(moreMenuElement).toBeNull();
+    });
+
+    it('should be visible', () => {
+      getVorgangWithEingangSubj.next(createStateResource(vorgangWithEingang));
+      fixture.detectChanges();
+
+      const moreMenuElement = getElementFromFixture(fixture, moreMenu);
+
+      expect(moreMenuElement).toBeDefined();
+    });
+  });
+
+  describe('detail area', () => {
+    it('should be hidden', () => {
+      getVorgangWithEingangSubj.next(null);
+      fixture.detectChanges();
+
+      const detailAreaElement = getElementFromFixture(fixture, detailArea);
+
+      expect(detailAreaElement).toBeNull();
+    });
+
+    it('should be visible', () => {
+      getVorgangWithEingangSubj.next(createStateResource(vorgangWithEingang));
+      fixture.detectChanges();
+
+      const detailAreaElement = getElementFromFixture(fixture, detailArea);
+
+      expect(detailAreaElement).toBeDefined();
+    });
+  });
 });
-- 
GitLab