diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.html b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.html index 401e826d68f85731fa74f90a3ce42ab7c1e51914..31479528f48068bc2a62268e9f93ef5ea90164f9 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.html +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.html @@ -14,9 +14,9 @@ <div class="section"> <goofy-client-anhang-list-container [vorgangWithEingang]="vorgangStateResource.resource"></goofy-client-anhang-list-container> - <goofy-client-vorgang-forwarding-container [vorgang]="vorgangStateResource.resource"></goofy-client-vorgang-forwarding-container> - <goofy-client-wiedervorlage-list-in-vorgang-container [vorgang]="vorgangStateResource.resource"></goofy-client-wiedervorlage-list-in-vorgang-container> - <goofy-client-kommentar-list-in-vorgang-container [vorgang]="vorgangStateResource.resource"></goofy-client-kommentar-list-in-vorgang-container> + <goofy-client-vorgang-forwarding-container *ngIf="vorgangStateResource.resource | hasLink: vorgangWithEingangLinkRel.FORWARDING" [vorgang]="vorgangStateResource.resource" data-test-id="forwarding-container-in-vorgang"></goofy-client-vorgang-forwarding-container> + <goofy-client-wiedervorlage-list-in-vorgang-container *ngIf="vorgangStateResource.resource | hasLink: linkRel.WIEDERVORLAGEN" [vorgang]="vorgangStateResource.resource" data-test-id="wiedervorlagen-container-in-vorgang"></goofy-client-wiedervorlage-list-in-vorgang-container> + <goofy-client-kommentar-list-in-vorgang-container *ngIf="vorgangStateResource.resource | hasLink: linkRel.KOMMENTARE" [vorgang]="vorgangStateResource.resource" data-test-id="kommentar-container-in-vorgang"></goofy-client-kommentar-list-in-vorgang-container> </div> </div> -</ng-container> +</ng-container> \ No newline at end of file diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts index 98411439bdd7d20e21fee4597746518826bfb0db..46caa325d0e2287c4a62b3054fcb5b4c68b8a45b 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts @@ -2,10 +2,12 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VorgangForwardingContainerComponent } from '@goofy-client/forwarding'; import { KommentarListInVorgangContainerComponent } from '@goofy-client/kommentar'; import { AnhangListContainerComponent } from '@goofy-client/ozg-file'; -import { createEmptyStateResource, HasLinkPipe, ToEmbeddedResourcesPipe } from '@goofy-client/tech-shared'; +import { createEmptyStateResource, createStateResource, HasLinkPipe, ToEmbeddedResourcesPipe } from '@goofy-client/tech-shared'; import { ButtonWithSpinnerComponent, ExpansionPanelComponent } from '@goofy-client/ui'; +import { VorgangHeaderLinkRel, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; import { WiedervorlageListInVorgangContainerComponent } from '@goofy-client/wiedervorlage'; import { SpinnerComponent } from 'libs/ui/src/lib/ui/spinner/spinner.component'; +import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang'; import { MockComponent } from 'ng-mocks'; import { VorgangDetailAreaComponent } from './vorgang-detail-area.component'; import { VorgangDetailBodyComponent } from './vorgang-detail-body/vorgang-detail-body.component'; @@ -16,6 +18,12 @@ describe('VorgangDetailAreaComponent', () => { let component: VorgangDetailAreaComponent; let fixture: ComponentFixture<VorgangDetailAreaComponent>; + const wiedervorlagenContainer: string = '[data-test-id="wiedervorlagen-container-in-vorgang"]'; + const kommentarContainer: string = '[data-test-id="kommentar-container-in-vorgang"]'; + const forwardingContainer: string = '[data-test-id="forwarding-container-in-vorgang"]'; + + const vorgang: VorgangWithEingangResource = createVorgangWithEingangResource(); + beforeEach(() => { TestBed.configureTestingModule({ declarations: [ @@ -46,4 +54,67 @@ describe('VorgangDetailAreaComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + describe('wiedervorlagen', () => { + + it('should be visible', () => { + component.vorgangStateResource = createStateResource(createVorgangWithEingangResource([VorgangHeaderLinkRel.WIEDERVORLAGEN])); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(wiedervorlagenContainer); + + expect(element).toBeInstanceOf(HTMLElement); + }) + + it('should be hidden', () => { + component.vorgangStateResource = createStateResource(vorgang); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(wiedervorlagenContainer); + + expect(element).not.toBeInstanceOf(HTMLElement); + }) + }) + + describe('kommentare', () => { + + it('should be visible', () => { + component.vorgangStateResource = createStateResource(createVorgangWithEingangResource([VorgangHeaderLinkRel.KOMMENTARE])); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(kommentarContainer); + + expect(element).toBeInstanceOf(HTMLElement); + }) + + it('should be hidden', () => { + component.vorgangStateResource = createStateResource(vorgang); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(kommentarContainer); + + expect(element).not.toBeInstanceOf(HTMLElement); + }) + }) + + describe('forwarding', () => { + + it('should be visible', () => { + component.vorgangStateResource = createStateResource(createVorgangWithEingangResource([VorgangWithEingangLinkRel.FORWARDING])); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(forwardingContainer); + + expect(element).toBeInstanceOf(HTMLElement); + }) + + it('should be hidden', () => { + component.vorgangStateResource = createStateResource(vorgang); + fixture.detectChanges(); + + const element = fixture.nativeElement.querySelector(forwardingContainer); + + expect(element).not.toBeInstanceOf(HTMLElement); + }) + }) }); diff --git a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.ts b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.ts index 2eef21073b9b9f28ed44f3f41c308d65268ff107..aab39f7ab53f60a03f90a07477b45720ffb8ac10 100644 --- a/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.ts +++ b/goofy-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.ts @@ -1,6 +1,6 @@ import { Component, Input } from '@angular/core'; import { StateResource } from '@goofy-client/tech-shared'; -import { VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; +import { VorgangHeaderLinkRel, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; @Component({ selector: 'goofy-client-vorgang-detail-area', @@ -10,4 +10,7 @@ import { VorgangWithEingangResource } from '@goofy-client/vorgang-shared'; export class VorgangDetailAreaComponent { @Input() vorgangStateResource: StateResource<VorgangWithEingangResource>; + + readonly linkRel = VorgangHeaderLinkRel; + readonly vorgangWithEingangLinkRel = VorgangWithEingangLinkRel; }