diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.html b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.html index 06d418a29377ced55efbb9f654927644b289ddb8..ef6a1b7579181d0d7aed400cfceedba2141f3d71 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.html +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.html @@ -23,23 +23,23 @@ unter der Lizenz sind dem Lizenztext zu entnehmen. --> -<alfa-vorgang-status-dot [status]="vorgangWithEingang.status" class="status-dot"></alfa-vorgang-status-dot> +<alfa-vorgang-status-dot [status]="vorgang.status" class="status-dot"></alfa-vorgang-status-dot> -<alfa-vorgang-status-text [status]="vorgangWithEingang.status" data-test-id="status-text" +<alfa-vorgang-status-text [status]="vorgang.status" data-test-id="status-text" class="status-text"></alfa-vorgang-status-text> -<div class="initial-date" data-test-id="created-at">{{ vorgangWithEingang.createdAt | date : 'EEEE, d. LLLL y, H:mm'}}</div> +<div class="initial-date" data-test-id="created-at">{{ vorgang.createdAt | date : 'EEEE, d. LLLL y, H:mm'}}</div> -<alfa-vorgang-nummer class="vorgang-nummer big" [vorgang]="vorgangWithEingang"></alfa-vorgang-nummer> +<alfa-vorgang-nummer class="vorgang-nummer big" [vorgang]="vorgang"></alfa-vorgang-nummer> -<div class="aktenzeichen"> +<div class="aktenzeichen" [class.aktenzeichen--active]="hasAktenzeichen"> <mat-icon svgIcon="az"></mat-icon> - <alfa-aktenzeichen-editable class="aktenzeichen-editable" [vorgang]="vorgangWithEingang"></alfa-aktenzeichen-editable> + <alfa-aktenzeichen-editable class="aktenzeichen-editable" [vorgang]="vorgang"></alfa-aktenzeichen-editable> </div> -<div data-test-id="name" class="name">{{ vorgangWithEingang.name }}</div> +<div data-test-id="name" class="name">{{ vorgang.name }}</div> -<alfa-user-profile-in-vorgang-container *ngIf="vorgangWithEingang | hasLink: linkRel.ASSIGN" data-test-id="vorgang-header-user-icon" - [vorgang]="vorgangWithEingang" +<alfa-user-profile-in-vorgang-container *ngIf="vorgang | hasLink: linkRel.ASSIGN" data-test-id="vorgang-header-user-icon" + [vorgang]="vorgang" class="user"> </alfa-user-profile-in-vorgang-container> diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.scss b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.scss index 978950168bc4faf31dd6706339f6c25b723d7e74..e93e5ba611a2bace877622f9d9178825c80e9d21 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.scss +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.scss @@ -81,6 +81,10 @@ mat-icon { align-items: center; color: #c2c2c2; + &--active { + color: unset; + } + .aktenzeichen-editable { width: calc(100% - 82px); } diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.spec.ts index e3c6b8704c8308d6f5a16c00e6abe98129fd1382..968591200b6c1739d36b8a204a0974de4cfb5e10 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.spec.ts @@ -24,14 +24,16 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatIcon } from '@angular/material/icon'; import { MatIconTestingModule } from '@angular/material/icon/testing'; -import { EnumToLabelPipe, HasLinkPipe } from '@alfa-client/tech-shared'; +import { EMPTY_STRING, EnumToLabelPipe, HasLinkPipe } from '@alfa-client/tech-shared'; import { VorgangHeaderLinkRel } from '@alfa-client/vorgang-shared'; -import { AktenzeichenComponent, VorgangNummerComponent, VorgangStatusDotComponent, VorgangStatusTextComponent } from '@alfa-client/vorgang-shared-ui'; +import { VorgangNummerComponent, VorgangStatusDotComponent, VorgangStatusTextComponent } from '@alfa-client/vorgang-shared-ui'; import { UserProfileInVorgangContainerComponent } from 'libs/user-profile/src/lib/user-profile-in-vorgang-container/user-profile-in-vorgang-container.component'; import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { MockComponent } from 'ng-mocks'; import { VorgangDetailHeaderComponent } from './vorgang-detail-header.component'; import { AktenzeichenEditableComponent } from '@alfa-client/vorgang-detail'; +import { getDebugElementFromFixtureByCss } from '@alfa-client/test-utils'; +import { DebugElement } from '@angular/core'; describe('VorgangDetailHeaderComponent', () => { let component: VorgangDetailHeaderComponent; @@ -67,7 +69,7 @@ describe('VorgangDetailHeaderComponent', () => { it('should create', () => { expect(component).toBeTruthy(); - }); + }) describe('bearbeiter/user icon', () => { @@ -89,4 +91,41 @@ describe('VorgangDetailHeaderComponent', () => { expect(userElement).not.toBeInstanceOf(HTMLElement); }) }) + + describe('set vorgangWithEingang', () => { + + it('should have Aktenzeichen', () => { + expect(component.hasAktenzeichen).toBeTruthy(); + }) + + it.each([null, EMPTY_STRING])('should NOT have aktenzeichen for %s', (aktenzeichen: string) => { + const vorgangWithEingang = createVorgangWithEingangResource(); + vorgangWithEingang.aktenzeichen = aktenzeichen; + component.vorgangWithEingang = vorgangWithEingang; + + expect(component.hasAktenzeichen).toBeFalsy(); + }) + + it('should set class aktenzeichen--active for aktenzeichen', () => { + fixture.detectChanges(); + + const element = getDebugElementFromFixtureByCss(fixture, 'div.aktenzeichen--active'); + + expect(element).toBeInstanceOf(DebugElement); + }) + + it.each([null, EMPTY_STRING])('should NOT set class aktenzeichen--active for aktenzeichen %s', (aktenzeichen: string) => { + const vorgangWithEingang = createVorgangWithEingangResource(); + vorgangWithEingang.aktenzeichen = aktenzeichen; + component.vorgangWithEingang = vorgangWithEingang; + + fixture.detectChanges(); + + const element = getDebugElementFromFixtureByCss(fixture, 'div.aktenzeichen--active'); + + expect(element).not.toBeInstanceOf(DebugElement); + }) + + }) + }); diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.ts index f97ca19141d8eaa969cff243877fbd922c2dafb8..051811750bbb2022878076fe64f0efc8589ac9c3 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-header/vorgang-detail-header.component.ts @@ -23,6 +23,8 @@ */ import { Component, Input } from '@angular/core'; import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; +import { isNotEmpty } from '@alfa-client/tech-shared'; +import { createVorgangWithEingangResource } from '../../../../../../vorgang-shared/test/vorgang'; @Component({ selector: 'alfa-vorgang-detail-header', @@ -31,7 +33,13 @@ import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-cli }) export class VorgangDetailHeaderComponent { - @Input() vorgangWithEingang: VorgangWithEingangResource; - readonly linkRel = VorgangWithEingangLinkRel; + + vorgang = createVorgangWithEingangResource(); + hasAktenzeichen = false; + + @Input('vorgangWithEingang') set vorgangWithEingang(vorgangWithEingang: VorgangWithEingangResource) { + this.vorgang = vorgangWithEingang; + this.hasAktenzeichen = isNotEmpty(vorgangWithEingang.aktenzeichen); + } }