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