From 51b36a590f9f6d1762a9dbede47196cbd4e7ee3d Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Fri, 23 Feb 2024 21:14:02 +0100 Subject: [PATCH] OZG-4994 OZG-5078 show view if links exist --- .../src/lib/api-root.linkrel.ts | 3 +++ .../vorgang-views-menu.component.html | 7 ++++++ .../vorgang-views-menu.component.spec.ts | 24 ++++++++++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/alfa-client/libs/api-root-shared/src/lib/api-root.linkrel.ts b/alfa-client/libs/api-root-shared/src/lib/api-root.linkrel.ts index d8a70c20e7..f4f18e6557 100644 --- a/alfa-client/libs/api-root-shared/src/lib/api-root.linkrel.ts +++ b/alfa-client/libs/api-root-shared/src/lib/api-root.linkrel.ts @@ -51,6 +51,9 @@ export enum ApiRootLinkRel { ALL_WIEDERVORLAGEN = 'vorgaenge_wiedervorlagen_all', MY_WIEDERVORLAGEN = 'vorgaenge_wiedervorlagen_my', UNASSIGNED_WIEDERVORLAGEN = 'vorgaenge_wiedervorlagen_unassigned', + ALL_UNGELESENE_NACHRICHTEN = 'vorgaenge_ungelesene_nachrichten_all', + MY_UNGELESENE_NACHRICHTEN = 'vorgaenge_ungelesene_nachrichten_my', + UNASSIGNED_UNGELESENE_NACHRICHTEN = 'vorgaenge_ungelesene_nachrichten_unassigned', ALLE_VORGAENGE_ZU_LOESCHEN = 'vorgaenge_zu_loeschen_all', MEINE_VORGAENGE_ZU_LOESCHEN = 'vorgaenge_zu_loeschen_my', UNASSIGNED_ZU_LOESCHEN = 'vorgaenge_zu_loeschen_unassigned', diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.html b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.html index c5f2b64b85..6c874f1b35 100644 --- a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.html +++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.html @@ -131,6 +131,13 @@ <div class="dot zu-loeschen"></div> </alfa-vorgang-view-item-container> <alfa-vorgang-view-item-container + *ngIf=" + apiRootResource + | hasAnyLink + : apiRootLinkRel.ALL_UNGELESENE_NACHRICHTEN + : apiRootLinkRel.MY_UNGELESENE_NACHRICHTEN + : apiRootLinkRel.UNASSIGNED_UNGELESENE_NACHRICHTEN + " data-test-id="vorgang-ungelesene-nachrichten-view" label="Ungelesen" [view]="vorgangView.UNGELESENE_NACHRICHTEN" diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.spec.ts b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.spec.ts index cf4f8bd301..2d312f1902 100644 --- a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.spec.ts +++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/vorgang-views-menu.component.spec.ts @@ -25,7 +25,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ApiRootLinkRel } from '@alfa-client/api-root-shared'; import { HasLinkPipe, createStateResource } from '@alfa-client/tech-shared'; import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils'; -import { OzgcloudIconComponent } from '@alfa-client/ui'; +import { OzgcloudIconComponent, PostfachIconComponent } from '@alfa-client/ui'; import { createApiRootResource } from 'libs/api-root-shared/test/api-root'; import { HasAnyLinkPipe } from 'libs/tech-shared/src/lib/pipe/has-any-link.pipe'; import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; @@ -48,6 +48,7 @@ describe('VorgangViewsMenuComponent', () => { const abgeschlossenView: string = getDataTestIdOf('vorgang-abgeschlossen-view'); const verworfenView: string = getDataTestIdOf('vorgang-verworfen-view'); const wiedervorlagenView: string = getDataTestIdOf('vorgang-wiedervorlagen-view'); + const ungeleseneNachrichtenView: string = getDataTestIdOf('vorgang-ungelesene-nachrichten-view'); const vorgangListView: string = getDataTestIdOf('vorgang-vorgang-list-view'); const searchView: string = getDataTestIdOf('vorgang-search-view'); @@ -62,6 +63,7 @@ describe('VorgangViewsMenuComponent', () => { MockComponent(VorgangViewItemComponent), MockComponent(VorgangSearchViewItemContainerComponent), MockComponent(OzgcloudIconComponent), + MockComponent(PostfachIconComponent), ], }).compileComponents(); @@ -215,6 +217,26 @@ describe('VorgangViewsMenuComponent', () => { }); }); + describe('ungelesene nachrichten view', () => { + it.each([ + ApiRootLinkRel.ALL_UNGELESENE_NACHRICHTEN, + ApiRootLinkRel.MY_UNGELESENE_NACHRICHTEN, + ApiRootLinkRel.UNASSIGNED_UNGELESENE_NACHRICHTEN, + ])('should show if %s link exists', (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); + + existsAsHtmlElement(fixture, ungeleseneNachrichtenView); + }); + + it('should hide if link not exists', () => { + component.apiRootResource = createApiRootResource(); + fixture.detectChanges(); + + notExistsAsHtmlElement(fixture, ungeleseneNachrichtenView); + }); + }); + describe('vorgangList view', () => { it.each([ ApiRootLinkRel.ALLE_VORGAENGE, -- GitLab