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 1ea618d47d18ed73a95030929bf0d581d41d3c6c..9d89989e6f5eb294ee5d7215b881a2584f3490db 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 @@ -46,6 +46,9 @@ export enum ApiRootLinkRel { ALLE_VORGAENGE_ABGESCHLOSSEN = 'vorgaenge_abgeschlossen_all', MEINE_VORGAENGE_ABGESCHLOSSEN = 'vorgaenge_abgeschlossen_my', UNASSIGNED_ABGESCHLOSSEN = 'vorgaenge_abgeschlossen_unassigned', + ALLE_VORGAENGE_WEITERGELEITET = 'vorgaenge_weitergeleitet_all', + MEINE_VORGAENGE_WEITERGELEITET = 'vorgaenge_weitergeleitet_my', + UNASSIGNED_WEITERGELEITET = 'vorgaenge_weitergeleitet_unassigned', ALLE_VORGAENGE_VERWORFEN = 'vorgaenge_verworfen_all', MEINE_VORGAENGE_VERWORFEN = 'vorgaenge_verworfen_my', UNASSIGNED_VERWORFEN = 'vorgaenge_verworfen_unassigned', diff --git a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts index c3358acb510534afa4df0bca712d8b2ff8161bb5..c2e342d93cc22a74bd18be0d1c135b5e51606c50 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.spec.ts @@ -1054,6 +1054,12 @@ describe('Vorgang Reducer', () => { expect(vorgangStatistic.resource.byStatus.verworfen).toBeNull(); }); + it('should have null as weitergeleitet', () => { + const vorgangStatistic: StateResource<VorgangStatistic> = Reducer.initialState.vorgangStatistic; + + expect(vorgangStatistic.resource.byStatus.weitergeleitet).toBeNull(); + }); + it('should have null as zuLoeschen', () => { const vorgangStatistic: StateResource<VorgangStatistic> = Reducer.initialState.vorgangStatistic; diff --git a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts index 0f200a551da43386ab80c67938d561a277bed11d..2601e8b7044b3d484d2556d1e418d1642dffa17f 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts @@ -126,6 +126,7 @@ function createEmptyVorgangStatistic(): VorgangStatistic { inBearbeitung: null, beschieden: null, verworfen: null, + weitergeleitet: null, zuLoeschen: null, }, wiedervorlagen: null, diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.spec.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.spec.ts index 76c2de5b4f697f184580a6ec74c0ebaaaf1705be..c522a0f4fcc3a6dfb8ee4d11c373ad4030d1717a 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.spec.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.spec.ts @@ -21,11 +21,11 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { UrlSegment } from '@angular/router'; -import { faker } from '@faker-js/faker'; import { ApiRootLinkRel } from '@alfa-client/api-root-shared'; import { RouteData } from '@alfa-client/navigation-shared'; import { EMPTY_STRING } from '@alfa-client/tech-shared'; +import { UrlSegment } from '@angular/router'; +import { faker } from '@faker-js/faker'; import { createRouteData } from 'libs/navigation-shared/test/navigation-test-factory'; import { initialState, VorgangState } from './+state/vorgang.reducer'; import { @@ -130,9 +130,7 @@ describe('Vorgang Navigation Util', () => { it('should return value on uebersichtsSeite', () => { jest.spyOn(VorgangNavigationUtil, 'isUebersichtsSeite').mockReturnValue(true); - const vorgangFilter: VorgangFilter = getVorgangFilter( - buildWithRouteParam(VorgangFilter.ALLE), - ); + const vorgangFilter: VorgangFilter = getVorgangFilter(buildWithRouteParam(VorgangFilter.ALLE)); expect(vorgangFilter).toBe(VorgangFilter.ALLE); }); @@ -152,10 +150,7 @@ describe('Vorgang Navigation Util', () => { const vorgangView: VorgangView = VorgangView.ANGENOMMEN; jest.spyOn(VorgangNavigationUtil, 'getVorgangView').mockReturnValue(vorgangView); - const isSelected: boolean = VorgangNavigationUtil.isViewSelected( - createRouteData(), - vorgangView, - ); + const isSelected: boolean = VorgangNavigationUtil.isViewSelected(createRouteData(), vorgangView); expect(isSelected).toBeTruthy(); }); @@ -164,10 +159,7 @@ describe('Vorgang Navigation Util', () => { const vorgangView: VorgangView = VorgangView.ANGENOMMEN; jest.spyOn(VorgangNavigationUtil, 'getVorgangView').mockReturnValue(VorgangView.NEU); - const isSelected: boolean = VorgangNavigationUtil.isViewSelected( - createRouteData(), - vorgangView, - ); + const isSelected: boolean = VorgangNavigationUtil.isViewSelected(createRouteData(), vorgangView); expect(isSelected).toBeFalsy(); }); @@ -198,7 +190,7 @@ describe('Vorgang Navigation Util', () => { const vorgangView: VorgangView = VorgangNavigationUtil.getVorgangView(routeData); - expect(vorgangView).toBe(6); + expect(vorgangView).toBe(VorgangView.VORGANG_LIST); }); it('should return VorgangView.NEU if routeData contains this view', () => { @@ -261,9 +253,7 @@ describe('Vorgang Navigation Util', () => { }); it('should build by given filter and view', () => { - jest - .spyOn(Storage, 'getViewFromLocalStorage') - .mockReturnValue(ROUTE_PARAM_BY_VORGANG_VIEW[VorgangView.ANGENOMMEN]); + jest.spyOn(Storage, 'getViewFromLocalStorage').mockReturnValue(ROUTE_PARAM_BY_VORGANG_VIEW[VorgangView.ANGENOMMEN]); jest .spyOn(Storage, 'getFilterFromLocalStorage') .mockReturnValue(ROUTE_PARAM_BY_VORGANG_FILTER[VorgangFilter.MEINE_VORGAENGE]); @@ -340,10 +330,7 @@ describe('Vorgang Navigation Util', () => { it('should build by meine vorgänge filter and view', () => { const state: VorgangState = { ...initialState, vorgangView: VorgangView.NEU }; - const routePath: string = buildVorgangListRouteWithVorgangFilter( - state, - VorgangFilter.MEINE_VORGAENGE, - ); + const routePath: string = buildVorgangListRouteWithVorgangFilter(state, VorgangFilter.MEINE_VORGAENGE); expect(routePath).toEqual('/meine/neu'); }); @@ -354,10 +341,7 @@ describe('Vorgang Navigation Util', () => { vorgangView: VorgangView.SEARCH, searchString: 'testSearchString', }; - const routePath: string = buildVorgangListRouteWithVorgangFilter( - state, - VorgangFilter.MEINE_VORGAENGE, - ); + const routePath: string = buildVorgangListRouteWithVorgangFilter(state, VorgangFilter.MEINE_VORGAENGE); expect(routePath).toEqual('/meine/search/testSearchString'); }); @@ -368,10 +352,7 @@ describe('Vorgang Navigation Util', () => { vorgangView: VorgangView.ANGENOMMEN, searchString: 'testSearchString', }; - const routePath: string = buildVorgangListRouteWithVorgangFilter( - state, - VorgangFilter.MEINE_VORGAENGE, - ); + const routePath: string = buildVorgangListRouteWithVorgangFilter(state, VorgangFilter.MEINE_VORGAENGE); expect(routePath).toEqual('/meine/angenommen'); }); @@ -406,19 +387,13 @@ describe('Vorgang Navigation Util', () => { }); it('return linkRel for Meine Vorgänge Filter', () => { - const linkRel: string = buildLinkRel( - VorgangFilter.MEINE_VORGAENGE, - VorgangView.VORGANG_LIST, - ); + const linkRel: string = buildLinkRel(VorgangFilter.MEINE_VORGAENGE, VorgangView.VORGANG_LIST); expect(linkRel).toBe('vorgaenge_my'); }); it('return linkRel for Nicht Zugewiesen Filter', () => { - const linkRel: string = buildLinkRel( - VorgangFilter.NICHT_ZUGEWIESEN, - VorgangView.VORGANG_LIST, - ); + const linkRel: string = buildLinkRel(VorgangFilter.NICHT_ZUGEWIESEN, VorgangView.VORGANG_LIST); expect(linkRel).toBe('vorgaenge_unassigned'); }); @@ -456,21 +431,13 @@ describe('Vorgang Navigation Util', () => { const vorgangView: VorgangView = VorgangView.NEU; it('should return routePath of view and filter', () => { - const routePath: string = buildVorgangFilterViewRoutePath( - vorgangFilter, - vorgangView, - EMPTY_STRING, - ); + const routePath: string = buildVorgangFilterViewRoutePath(vorgangFilter, vorgangView, EMPTY_STRING); expect(routePath).toBe('/alle/neu'); }); it('should return routePath of view and filter and searchString', () => { - const routePath: string = buildVorgangFilterViewRoutePath( - vorgangFilter, - vorgangView, - 'searchString', - ); + const routePath: string = buildVorgangFilterViewRoutePath(vorgangFilter, vorgangView, 'searchString'); expect(routePath).toBe('/alle/neu/searchString'); }); diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.ts index d525cd4e9a1614ee19f2db106387e0ed2937fe5b..053d9eb1c84a2b396d86b45fbf8908b4790f76a9 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang-navigation.util.ts @@ -40,6 +40,7 @@ export const ANGENOMMEN_ROUTE_PARAM: string = 'angenommen'; export const IN_BEARBEITUNG_ROUTE_PARAM: string = 'in_bearbeitung'; export const BESCHIEDEN_ROUTE_PARAM: string = 'beschieden'; export const ABGESCHLOSSEN_ROUTE_PARAM: string = 'abgeschlossen'; +export const WEITERGELEITET_ROUTE_PARAM: string = 'weitergeleitet'; export const VERWORFEN_ROUTE_PARAM: string = 'verworfen'; export const WIEDERVORLAGEN_ROUTE_PARAM: string = 'wiedervorlagen'; export const UNGELESENE_NACHRICHTEN_ROUTE_PARAM: string = 'ungelesene_nachrichten'; @@ -54,6 +55,7 @@ export const ROUTE_PARAM_BY_VORGANG_VIEW: { [view: string]: string } = { [VorgangView.IN_BEARBEITUNG]: IN_BEARBEITUNG_ROUTE_PARAM, [VorgangView.BESCHIEDEN]: BESCHIEDEN_ROUTE_PARAM, [VorgangView.ABGESCHLOSSEN]: ABGESCHLOSSEN_ROUTE_PARAM, + [VorgangView.WEITERGELEITET]: WEITERGELEITET_ROUTE_PARAM, [VorgangView.VERWORFEN]: VERWORFEN_ROUTE_PARAM, [VorgangView.VORGANG_LIST]: EMPTY_STRING, [VorgangView.WIEDERVORLAGEN]: WIEDERVORLAGEN_ROUTE_PARAM, @@ -68,6 +70,7 @@ export const VORGANG_VIEW_BY_ROUTE_PARAM: { [routeParam: string]: VorgangView } [IN_BEARBEITUNG_ROUTE_PARAM]: VorgangView.IN_BEARBEITUNG, [BESCHIEDEN_ROUTE_PARAM]: VorgangView.BESCHIEDEN, [ABGESCHLOSSEN_ROUTE_PARAM]: VorgangView.ABGESCHLOSSEN, + [WEITERGELEITET_ROUTE_PARAM]: VorgangView.WEITERGELEITET, [VERWORFEN_ROUTE_PARAM]: VorgangView.VERWORFEN, [WIEDERVORLAGEN_ROUTE_PARAM]: VorgangView.WIEDERVORLAGEN, [UNGELESENE_NACHRICHTEN_ROUTE_PARAM]: VorgangView.UNGELESENE_NACHRICHTEN, @@ -115,9 +118,7 @@ export function isViewSelected(routeData: RouteData, vorgangView: VorgangView): export function getVorgangView(routeData: RouteData): VorgangView { const vorgangViewValue: string = VorgangNavigationUtil.getRouteUrlSegment(routeData, 1); if (VorgangNavigationUtil.isUebersichtsSeite(routeData)) { - return isNotUndefined(vorgangViewValue) ? - VORGANG_VIEW_BY_ROUTE_PARAM[vorgangViewValue] - : VorgangView.VORGANG_LIST; + return isNotUndefined(vorgangViewValue) ? VORGANG_VIEW_BY_ROUTE_PARAM[vorgangViewValue] : VorgangView.VORGANG_LIST; } return undefined; } @@ -133,9 +134,7 @@ export function isUebersichtsSeite(routeData: RouteData): boolean { } export function getRouteUrlSegment(routeData: RouteData, num: number): string { - return routeData.urlSegments.length > num ? - routeData.urlSegments[num].path.toString() - : undefined; + return routeData.urlSegments.length > num ? routeData.urlSegments[num].path.toString() : undefined; } export function buildBackButtonUrl(state: VorgangState): string { @@ -153,17 +152,11 @@ export function isStateEqualLocalStorage(state: VorgangState): boolean { ); } -export function buildVorgangListRoutePathWithFilter( - state: VorgangState, - filter: VorgangFilter, -): string { +export function buildVorgangListRoutePathWithFilter(state: VorgangState, filter: VorgangFilter): string { return VorgangNavigationUtil.buildVorgangListRouteWithVorgangFilter(state, filter); } -export function buildVorgangListRouteWithVorgangFilter( - state: VorgangState, - filter: VorgangFilter, -): string { +export function buildVorgangListRouteWithVorgangFilter(state: VorgangState, filter: VorgangFilter): string { let route = '/' + ROUTE_PARAM_BY_VORGANG_FILTER[filter]; if (state.vorgangView !== VorgangView.VORGANG_LIST) { @@ -198,9 +191,7 @@ export function buildLinkRelFromPathSegments(pathSegments: string[]): string { } const vorgangView: VorgangView = - isEmpty(pathSegments[1]) ? - VorgangView.VORGANG_LIST - : VORGANG_VIEW_BY_ROUTE_PARAM[pathSegments[1]]; + isEmpty(pathSegments[1]) ? VorgangView.VORGANG_LIST : VORGANG_VIEW_BY_ROUTE_PARAM[pathSegments[1]]; return buildLinkRel(vorgangFilter, vorgangView); } @@ -210,11 +201,7 @@ export function buildVorgangFilterViewRoutePath( vorgangView: VorgangView, searchString: string, ): string { - let baseRoutePath: string = - '/' + - ROUTE_PARAM_BY_VORGANG_FILTER[vorgangFilter] + - '/' + - ROUTE_PARAM_BY_VORGANG_VIEW[vorgangView]; + let baseRoutePath: string = '/' + ROUTE_PARAM_BY_VORGANG_FILTER[vorgangFilter] + '/' + ROUTE_PARAM_BY_VORGANG_VIEW[vorgangView]; if (isNotEmpty(searchString)) { return baseRoutePath + '/' + searchString; } diff --git a/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts b/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts index 8417137108330ec18fd817f11a55d134e9e47f24..956adad470e23174c4cd6360ab7853420a9e5cc9 100644 --- a/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts +++ b/alfa-client/libs/vorgang-shared/src/lib/vorgang.model.ts @@ -118,6 +118,7 @@ export interface ByStatus { beschieden: number; abgeschlossen: number; verworfen: number; + weitergeleitet: number; zuLoeschen: number; } @@ -160,6 +161,7 @@ export enum VorgangView { ABGESCHLOSSEN, VERWORFEN, VORGANG_LIST, + WEITERGELEITET, WIEDERVORLAGEN, SEARCH, ZU_LOESCHEN, diff --git a/alfa-client/libs/vorgang-shared/test/vorgang.ts b/alfa-client/libs/vorgang-shared/test/vorgang.ts index 9eadf4c36b6fbb1e06bab1d81880a2d386db0246..0a98811ad59a31a8c735fa90e1efe5a296f6aceb 100644 --- a/alfa-client/libs/vorgang-shared/test/vorgang.ts +++ b/alfa-client/libs/vorgang-shared/test/vorgang.ts @@ -160,6 +160,7 @@ function createByStatus(): ByStatus { beschieden: faker.number.int(), abgeschlossen: faker.number.int(), verworfen: faker.number.int(), + weitergeleitet: faker.number.int(), zuLoeschen: faker.number.int(), }; } diff --git a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/_vorgang-views-menu.theme.scss b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/_vorgang-views-menu.theme.scss index 01889d5e0d21fe759a533c2415fe3ccfac84c804..b29f62b51b0da42f61a47a11583e6e11445e272e 100644 --- a/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/_vorgang-views-menu.theme.scss +++ b/alfa-client/libs/vorgang/src/lib/vorgang-list-page-container/vorgang-list-page/vorgang-views-menu/_vorgang-views-menu.theme.scss @@ -90,22 +90,15 @@ alfa-vorgang-view-item { border-color: #155ab4; } - &.angenommen { - background-color: #f6ebce; - border-color: #f1c14e; - } - + &.angenommen, &.in_bearbeitung { background-color: #f6ebce; border-color: #f1c14e; } - &.beschieden { - background-color: #d9eec5; - border-color: #7ccb2b; - } - - &.abgeschlossen { + &.beschieden, + &.abgeschlossen, + &.weitergeleitet { background-color: #d9eec5; border-color: #7ccb2b; } 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 21f2c7272fe3695da90ec1ffd5685265b2a0e4be..fde89f0449a26cb2ab766ff0c4eef29de14fd154 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 @@ -28,10 +28,7 @@ <alfa-vorgang-view-item-container *ngIf=" apiRootResource - | hasAnyLink - : apiRootLinkRel.ALLE_VORGAENGE_NEU - : apiRootLinkRel.MEINE_VORGAENGE_NEU - : apiRootLinkRel.UNASSIGNED_NEU + | hasAnyLink: apiRootLinkRel.ALLE_VORGAENGE_NEU : apiRootLinkRel.MEINE_VORGAENGE_NEU : apiRootLinkRel.UNASSIGNED_NEU " data-test-id="vorgang-neu-view" label="Neu" @@ -100,6 +97,22 @@ > <div class="dot abgeschlossen"></div> </alfa-vorgang-view-item-container> + @if ( + apiRootResource + | hasAnyLink + : apiRootLinkRel.ALLE_VORGAENGE_WEITERGELEITET + : apiRootLinkRel.MEINE_VORGAENGE_WEITERGELEITET + : apiRootLinkRel.UNASSIGNED_WEITERGELEITET + ) { + <alfa-vorgang-view-item-container + data-test-id="vorgang-weitergeleitet-view" + label="Weitergeleitet" + [view]="vorgangView.WEITERGELEITET" + [count]="statistic.byStatus.weitergeleitet" + > + <div class="dot weitergeleitet"></div> + </alfa-vorgang-view-item-container> + } <alfa-vorgang-view-item-container *ngIf=" apiRootResource @@ -159,17 +172,11 @@ [view]="vorgangView.WIEDERVORLAGEN" [count]="statistic.wiedervorlagen" > - <alfa-wiedervorlage-icon - [isOverdue]="statistic.existsWiedervorlageOverdue" - ></alfa-wiedervorlage-icon> + <alfa-wiedervorlage-icon [isOverdue]="statistic.existsWiedervorlageOverdue"></alfa-wiedervorlage-icon> </alfa-vorgang-view-item-container> <alfa-vorgang-view-item-container *ngIf=" - apiRootResource - | hasAnyLink - : apiRootLinkRel.ALLE_VORGAENGE - : apiRootLinkRel.MEINE_VORGAENGE - : apiRootLinkRel.UNASSIGNED + apiRootResource | hasAnyLink: apiRootLinkRel.ALLE_VORGAENGE : apiRootLinkRel.MEINE_VORGAENGE : apiRootLinkRel.UNASSIGNED " data-test-id="vorgang-vorgang-list-view" label="Vorgangsliste" @@ -180,11 +187,7 @@ </alfa-vorgang-view-item-container> <alfa-vorgang-search-view-item-container *ngIf=" - apiRootResource - | hasAnyLink - : apiRootLinkRel.SEARCH_ALLE - : apiRootLinkRel.SEARCH_MEINE - : apiRootLinkRel.SEARCH_UNASSIGNED + apiRootResource | hasAnyLink: apiRootLinkRel.SEARCH_ALLE : apiRootLinkRel.SEARCH_MEINE : apiRootLinkRel.SEARCH_UNASSIGNED " data-test-id="vorgang-search-view" class="top-border" 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 002788d2e9ecf9fc8c9f0e23f9797b125c7edc8d..d7cd88c0faf1e5ca2ec114a6908733f27df88fe8 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 @@ -24,11 +24,7 @@ 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, - OzgcloudSvgIconComponent, - PostfachIconComponent, -} from '@alfa-client/ui'; +import { OzgcloudIconComponent, OzgcloudSvgIconComponent, PostfachIconComponent } from '@alfa-client/ui'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { createApiRootResource } from 'libs/api-root-shared/test/api-root'; import { HasAnyLinkPipe } from 'libs/tech-shared/src/lib/pipe/has-any-link.pipe'; @@ -50,6 +46,7 @@ describe('VorgangViewsMenuComponent', () => { const inBearbeitungView: string = getDataTestIdOf('vorgang-in-bearbeitung-view'); const beschiedenView: string = getDataTestIdOf('vorgang-beschieden-view'); const abgeschlossenView: string = getDataTestIdOf('vorgang-abgeschlossen-view'); + const weitergeleitetView: string = getDataTestIdOf('vorgang-weitergeleitet-view'); const verworfenView: string = getDataTestIdOf('vorgang-verworfen-view'); const wiedervorlagenView: string = getDataTestIdOf('vorgang-wiedervorlagen-view'); const ungeleseneNachrichtenView: string = getDataTestIdOf('vorgang-ungelesene-nachrichten-view'); @@ -83,16 +80,15 @@ describe('VorgangViewsMenuComponent', () => { }); describe('neu view', () => { - it.each([ - ApiRootLinkRel.ALLE_VORGAENGE_NEU, - ApiRootLinkRel.MEINE_VORGAENGE_NEU, - ApiRootLinkRel.UNASSIGNED_NEU, - ])('should show if %s link exists', (linkRel: string) => { - component.apiRootResource = createApiRootResource([linkRel]); - fixture.detectChanges(); + it.each([ApiRootLinkRel.ALLE_VORGAENGE_NEU, ApiRootLinkRel.MEINE_VORGAENGE_NEU, ApiRootLinkRel.UNASSIGNED_NEU])( + 'should show if %s link exists', + (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); - existsAsHtmlElement(fixture, neuView); - }); + existsAsHtmlElement(fixture, neuView); + }, + ); it('should hide if both links not exists', () => { component.apiRootResource = createApiRootResource(); @@ -182,6 +178,26 @@ describe('VorgangViewsMenuComponent', () => { }); }); + describe('weitergeleitet view', () => { + it.each([ + ApiRootLinkRel.ALLE_VORGAENGE_WEITERGELEITET, + ApiRootLinkRel.MEINE_VORGAENGE_WEITERGELEITET, + ApiRootLinkRel.UNASSIGNED_WEITERGELEITET, + ])('should show if %s link exists', (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); + + existsAsHtmlElement(fixture, weitergeleitetView); + }); + + it('should hide if both links not exists', () => { + component.apiRootResource = createApiRootResource(); + fixture.detectChanges(); + + notExistsAsHtmlElement(fixture, beschiedenView); + }); + }); + describe('verworfen view', () => { it.each([ ApiRootLinkRel.ALLE_VORGAENGE_VERWORFEN, @@ -203,16 +219,15 @@ describe('VorgangViewsMenuComponent', () => { }); describe('wiedervorlagen view', () => { - it.each([ - ApiRootLinkRel.ALL_WIEDERVORLAGEN, - ApiRootLinkRel.MY_WIEDERVORLAGEN, - ApiRootLinkRel.UNASSIGNED_WIEDERVORLAGEN, - ])('should show if %s link exists', (linkRel: string) => { - component.apiRootResource = createApiRootResource([linkRel]); - fixture.detectChanges(); + it.each([ApiRootLinkRel.ALL_WIEDERVORLAGEN, ApiRootLinkRel.MY_WIEDERVORLAGEN, ApiRootLinkRel.UNASSIGNED_WIEDERVORLAGEN])( + 'should show if %s link exists', + (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); - existsAsHtmlElement(fixture, wiedervorlagenView); - }); + existsAsHtmlElement(fixture, wiedervorlagenView); + }, + ); it('should hide if link not exists', () => { component.apiRootResource = createApiRootResource(); @@ -243,16 +258,15 @@ describe('VorgangViewsMenuComponent', () => { }); describe('vorgangList view', () => { - it.each([ - ApiRootLinkRel.ALLE_VORGAENGE, - ApiRootLinkRel.MEINE_VORGAENGE, - ApiRootLinkRel.UNASSIGNED, - ])('should show if %s link exists', (linkRel: string) => { - component.apiRootResource = createApiRootResource([linkRel]); - fixture.detectChanges(); + it.each([ApiRootLinkRel.ALLE_VORGAENGE, ApiRootLinkRel.MEINE_VORGAENGE, ApiRootLinkRel.UNASSIGNED])( + 'should show if %s link exists', + (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); - existsAsHtmlElement(fixture, vorgangListView); - }); + existsAsHtmlElement(fixture, vorgangListView); + }, + ); it('should hide if link not exists', () => { component.apiRootResource = createApiRootResource(); @@ -263,16 +277,15 @@ describe('VorgangViewsMenuComponent', () => { }); describe('search view', () => { - it.each([ - ApiRootLinkRel.SEARCH_ALLE, - ApiRootLinkRel.SEARCH_MEINE, - ApiRootLinkRel.SEARCH_UNASSIGNED, - ])('should show if %s link exists', (linkRel: string) => { - component.apiRootResource = createApiRootResource([linkRel]); - fixture.detectChanges(); - - existsAsHtmlElement(fixture, searchView); - }); + it.each([ApiRootLinkRel.SEARCH_ALLE, ApiRootLinkRel.SEARCH_MEINE, ApiRootLinkRel.SEARCH_UNASSIGNED])( + 'should show if %s link exists', + (linkRel: string) => { + component.apiRootResource = createApiRootResource([linkRel]); + fixture.detectChanges(); + + existsAsHtmlElement(fixture, searchView); + }, + ); it('should hide if no link not exists', () => { component.apiRootResource = createApiRootResource();