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 620a09484a62b4892a82e004d3a54280c0bf3314..897a93130bf9e8d21b120f86de04796e564b7300 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 2a96a3b53a7329a7ef6536c2e184cf5d1be096a9..1b919cbc84ebe2d43fee203dfe6cfa088d72861c 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 6f3b861967544dc0e012a97f96c97ca94b24dcee..c8475e5aae551b7cfedeeea0d9a15e36c58219e6 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 1e513746896629e14bbfaca4d97b8dc0d4e3834f..87cdaf2c9b5fb2d3d90dd4a2c0e9b82f6de56110 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>