From d67708387eff4e6509fdddf6cf64cf78ec6b5ebb Mon Sep 17 00:00:00 2001 From: Alexander Reifschneider <alexander.reifschneider@mgm-tp.com> Date: Tue, 29 Apr 2025 14:55:00 +0200 Subject: [PATCH] OZG-7774 move statistik menu to menu container --- .../apps/admin/src/app/app.component.html | 3 - .../apps/admin/src/app/app.component.spec.ts | 2 +- .../apps/admin/src/app/app.component.ts | 3 +- .../src/lib/configuration.linkrel.ts | 2 + .../libs/admin/configuration/src/index.ts | 1 - .../menu-container.component.html | 3 +- .../menu-container.component.spec.ts | 9 +- .../menu-container.component.ts | 3 +- .../statistik-menu.component.html | 26 +++++ .../statistik-menu.component.spec.ts | 94 +++++++++++++++++++ .../statistik-menu.component.ts | 4 +- .../statistik-menu-container.component.html | 1 - ...statistik-menu-container.component.spec.ts | 55 ----------- .../statistik-menu-container.component.ts | 22 ----- .../statistik-menu.component.html | 18 ---- .../statistik-menu.component.spec.ts | 53 ----------- .../libs/admin/shared/src/lib/routes.ts | 4 +- alfa-client/libs/tech-shared/src/index.ts | 1 + 18 files changed, 141 insertions(+), 163 deletions(-) create mode 100644 alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.html create mode 100644 alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.spec.ts rename alfa-client/libs/admin/configuration/src/lib/{statistik-menu-container => menu-container}/statistik-menu/statistik-menu.component.ts (84%) delete mode 100644 alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.html delete mode 100644 alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.spec.ts delete mode 100644 alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.ts delete mode 100644 alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.html delete mode 100644 alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.spec.ts diff --git a/alfa-client/apps/admin/src/app/app.component.html b/alfa-client/apps/admin/src/app/app.component.html index 561a68601f..e3f678a098 100644 --- a/alfa-client/apps/admin/src/app/app.component.html +++ b/alfa-client/apps/admin/src/app/app.component.html @@ -61,9 +61,6 @@ @if (apiRoot | hasLink: apiRootLinkRel.CONFIGURATION) { <admin-menu-container data-test-id="menu-container"></admin-menu-container> } - @if (apiRoot | hasLink: apiRootLinkRel.CONFIGURATION) { - <admin-statistik-menu-container data-test-id="menu-container" /> - } </ods-navbar> <main class="flex-1 overflow-y-auto bg-white px-6 py-4"> <router-outlet diff --git a/alfa-client/apps/admin/src/app/app.component.spec.ts b/alfa-client/apps/admin/src/app/app.component.spec.ts index 6be45ca955..ef7bf3c2d2 100644 --- a/alfa-client/apps/admin/src/app/app.component.spec.ts +++ b/alfa-client/apps/admin/src/app/app.component.spec.ts @@ -300,7 +300,7 @@ describe('AppComponent', () => { it('should navigate to statistik if aggregation mapping link exists', () => { component._navigateByConfiguration(createConfigurationResource([ConfigurationLinkRel.AGGREGATION_MAPPINGS])); - expect(router.navigate).toHaveBeenCalledWith(['/auswertungen']); + expect(router.navigate).toHaveBeenCalledWith(['/statistik/auswertungen']); }); it('should navigate to unavailable page if no link exists', () => { diff --git a/alfa-client/apps/admin/src/app/app.component.ts b/alfa-client/apps/admin/src/app/app.component.ts index 8aee55efef..8cc01f4def 100644 --- a/alfa-client/apps/admin/src/app/app.component.ts +++ b/alfa-client/apps/admin/src/app/app.component.ts @@ -21,7 +21,7 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { MenuContainerComponent, StatistikMenuContainerComponent } from '@admin-client/configuration'; +import { MenuContainerComponent } from '@admin-client/configuration'; import { ConfigurationLinkRel, ConfigurationResource, ConfigurationService } from '@admin-client/configuration-shared'; import { ROUTES } from '@admin-client/shared'; import { KeycloakTokenService } from '@admin/keycloak-shared'; @@ -53,7 +53,6 @@ import { UnavailablePageComponent } from '../pages/unavailable/unavailable-page/ UnavailablePageComponent, BuildInfoComponent, MenuContainerComponent, - StatistikMenuContainerComponent, RouterLink, HasLinkPipe, ], diff --git a/alfa-client/libs/admin/configuration-shared/src/lib/configuration.linkrel.ts b/alfa-client/libs/admin/configuration-shared/src/lib/configuration.linkrel.ts index f388033515..a49d99231e 100644 --- a/alfa-client/libs/admin/configuration-shared/src/lib/configuration.linkrel.ts +++ b/alfa-client/libs/admin/configuration-shared/src/lib/configuration.linkrel.ts @@ -24,4 +24,6 @@ export enum ConfigurationLinkRel { SETTING = 'settings', AGGREGATION_MAPPINGS = 'aggregationMappings', + DATENFREIGABE = 'datenfreigabes', + DATENANFRAGE = 'datenanfrages', } diff --git a/alfa-client/libs/admin/configuration/src/index.ts b/alfa-client/libs/admin/configuration/src/index.ts index 63bd38c1b3..221b8b7376 100644 --- a/alfa-client/libs/admin/configuration/src/index.ts +++ b/alfa-client/libs/admin/configuration/src/index.ts @@ -1,2 +1 @@ export * from './lib/menu-container/menu-container.component'; -export * from './lib/statistik-menu-container/statistik-menu-container.component'; diff --git a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.html b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.html index fd97589d60..b7e703fc1d 100644 --- a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.html +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.html @@ -1 +1,2 @@ -<admin-menu [configurationStateResource]="configurationStateResource$ | async"></admin-menu> \ No newline at end of file +<admin-menu [configurationStateResource]="configurationStateResource$ | async" /> +<admin-statistik-menu [configurationStateResource]="configurationStateResource$ | async" /> diff --git a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.spec.ts b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.spec.ts index 69d8eb3bd3..b6354f4641 100644 --- a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.spec.ts +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.spec.ts @@ -7,6 +7,7 @@ import { of } from 'rxjs'; import { createConfigurationResource } from '../../../../configuration-shared/test/configuration'; import { MenuContainerComponent } from './menu-container.component'; import { MenuComponent } from './menu/menu.component'; +import { StatistikMenuComponent } from './statistik-menu/statistik-menu.component'; describe('MenuContainerComponent', () => { let component: MenuContainerComponent; @@ -21,7 +22,7 @@ describe('MenuContainerComponent', () => { await TestBed.configureTestingModule({ imports: [MenuContainerComponent], - declarations: [MockComponent(MenuComponent)], + declarations: [MockComponent(MenuComponent), MockComponent(StatistikMenuComponent)], providers: [ { provide: ConfigurationService, @@ -52,4 +53,10 @@ describe('MenuContainerComponent', () => { expect(menu.configurationStateResource).toBe(configurationStateResource); }); + + it('should call statistic menu', () => { + const statisticMenu: StatistikMenuComponent = getMockComponent(fixture, StatistikMenuComponent); + + expect(statisticMenu.configurationStateResource).toBe(configurationStateResource); + }); }); diff --git a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.ts b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.ts index 7cb838c535..50be1f39d5 100644 --- a/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.ts +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/menu-container.component.ts @@ -4,11 +4,12 @@ import { CommonModule } from '@angular/common'; import { Component, inject, OnInit } from '@angular/core'; import { Observable } from 'rxjs'; import { MenuComponent } from './menu/menu.component'; +import { StatistikMenuComponent } from './statistik-menu/statistik-menu.component'; @Component({ selector: 'admin-menu-container', standalone: true, - imports: [CommonModule, MenuComponent], + imports: [CommonModule, MenuComponent, StatistikMenuComponent], templateUrl: './menu-container.component.html', }) export class MenuContainerComponent implements OnInit { diff --git a/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.html b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.html new file mode 100644 index 0000000000..2fb7553377 --- /dev/null +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.html @@ -0,0 +1,26 @@ +@if ( + configurationStateResource.resource + | hasAnyLink + : configurationLinkRel.AGGREGATION_MAPPINGS + : configurationLinkRel.DATENFREIGABE + : configurationLinkRel.DATENANFRAGE +) { + <ods-nav-headline label="Statistik" /> + <div class="flex flex-col gap-2"> + @if (configurationStateResource.resource | hasLink: configurationLinkRel.AGGREGATION_MAPPINGS) { + <ods-nav-item data-test-id="auswertung-navigation" caption="Auswertungen" [path]="'/' + ROUTES.AGGREGATION_MAPPING"> + <ods-icon icon name="statistic" fill="text" /> + </ods-nav-item> + } + @if (configurationStateResource.resource | hasLink: configurationLinkRel.DATENFREIGABE) { + <ods-nav-item data-test-id="datenfreigaben-navigation" caption="Datenfreigaben" [path]="'/' + ROUTES.DATENFREIGABEN"> + <ods-icon icon name="bar-chart-arrow" fill="text" /> + </ods-nav-item> + } + @if (configurationStateResource.resource | hasLink: configurationLinkRel.DATENANFRAGE) { + <ods-nav-item data-test-id="datenanfragen-navigation" caption="Datenanfragen" [path]="'/' + ROUTES.DATENANFRAGEN"> + <ods-icon icon name="bubble-question-mark" fill="text" /> + </ods-nav-item> + } + </div> +} diff --git a/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.spec.ts b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.spec.ts new file mode 100644 index 0000000000..ca2aacff02 --- /dev/null +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.spec.ts @@ -0,0 +1,94 @@ +import { ConfigurationLinkRel } from '@admin-client/configuration-shared'; +import { createEmptyStateResource, createStateResource, HasLinkPipe } from '@alfa-client/tech-shared'; +import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { IconComponent, NavItemComponent } from '@ods/system'; +import { createConfigurationResource } from 'libs/admin/configuration-shared/test/configuration'; +import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; +import { MockComponent } from 'ng-mocks'; +import { StatistikMenuComponent } from './statistik-menu.component'; + +describe('StatistikMenuComponent', () => { + let component: StatistikMenuComponent; + let fixture: ComponentFixture<StatistikMenuComponent>; + + const auswertungNavigationSelector: string = getDataTestIdOf('auswertung-navigation'); + const datenfreigabenNavigationSelector: string = getDataTestIdOf('datenfreigaben-navigation'); + const datenanfragenNavigationSelector: string = getDataTestIdOf('datenanfragen-navigation'); + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [StatistikMenuComponent, HasLinkPipe], + declarations: [MockComponent(NavItemComponent), MockComponent(IconComponent)], + }).compileComponents(); + + fixture = TestBed.createComponent(StatistikMenuComponent); + component = fixture.componentInstance; + component.configurationStateResource = createEmptyStateResource(); + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); + + describe('statistic navigation', () => { + describe('auswertung', () => { + it('should show if agregation mapping link is present', () => { + component.configurationStateResource = createStateResource( + createConfigurationResource([ConfigurationLinkRel.AGGREGATION_MAPPINGS]), + ); + + fixture.detectChanges(); + + existsAsHtmlElement(fixture, auswertungNavigationSelector); + }); + + it('should hide if agregation mapping link is missing', () => { + component.configurationStateResource = createStateResource(createConfigurationResource()); + + fixture.detectChanges(); + + notExistsAsHtmlElement(fixture, auswertungNavigationSelector); + }); + }); + describe('datenfreigaben', () => { + it('should show if datenfreigabe link is present', () => { + component.configurationStateResource = createStateResource( + createConfigurationResource([ConfigurationLinkRel.DATENFREIGABE]), + ); + + fixture.detectChanges(); + + existsAsHtmlElement(fixture, datenfreigabenNavigationSelector); + }); + + it('should hide if datenfreigabe link is missing', () => { + component.configurationStateResource = createStateResource(createConfigurationResource()); + + fixture.detectChanges(); + + notExistsAsHtmlElement(fixture, datenfreigabenNavigationSelector); + }); + }); + describe('datenanfragen', () => { + it('should show if datenanfrage link is present', () => { + component.configurationStateResource = createStateResource( + createConfigurationResource([ConfigurationLinkRel.DATENANFRAGE]), + ); + + fixture.detectChanges(); + + existsAsHtmlElement(fixture, datenanfragenNavigationSelector); + }); + + it('should hide if datenanfrage link is missing', () => { + component.configurationStateResource = createStateResource(createConfigurationResource()); + + fixture.detectChanges(); + + notExistsAsHtmlElement(fixture, datenanfragenNavigationSelector); + }); + }); + }); +}); diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.ts b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.ts similarity index 84% rename from alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.ts rename to alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.ts index 75a8bab295..40b40d14a7 100644 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.ts +++ b/alfa-client/libs/admin/configuration/src/lib/menu-container/statistik-menu/statistik-menu.component.ts @@ -1,6 +1,6 @@ import { ConfigurationLinkRel, ConfigurationResource } from '@admin-client/configuration-shared'; import { ROUTES } from '@admin-client/shared'; -import { HasLinkPipe, StateResource } from '@alfa-client/tech-shared'; +import { HasAnyLinkPipe, HasLinkPipe, StateResource } from '@alfa-client/tech-shared'; import { CommonModule } from '@angular/common'; import { Component, Input } from '@angular/core'; import { IconComponent, NavHeadlineComponent, NavItemComponent } from '@ods/system'; @@ -8,7 +8,7 @@ import { IconComponent, NavHeadlineComponent, NavItemComponent } from '@ods/syst @Component({ selector: 'admin-statistik-menu', standalone: true, - imports: [CommonModule, NavItemComponent, IconComponent, HasLinkPipe, NavHeadlineComponent], + imports: [CommonModule, NavItemComponent, IconComponent, HasLinkPipe, HasAnyLinkPipe, NavHeadlineComponent], templateUrl: './statistik-menu.component.html', }) export class StatistikMenuComponent { diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.html b/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.html deleted file mode 100644 index 5392d99854..0000000000 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.html +++ /dev/null @@ -1 +0,0 @@ -<admin-statistik-menu [configurationStateResource]="configurationStateResource$ | async" /> diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.spec.ts b/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.spec.ts deleted file mode 100644 index 8b521c1b5e..0000000000 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.spec.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { ConfigurationResource, ConfigurationService } from '@admin-client/configuration-shared'; -import { createStateResource, StateResource } from '@alfa-client/tech-shared'; -import { getMockComponent, mock, Mock } from '@alfa-client/test-utils'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MockComponent } from 'ng-mocks'; -import { of } from 'rxjs'; -import { createConfigurationResource } from '../../../../configuration-shared/test/configuration'; -import { StatistikMenuContainerComponent } from './statistik-menu-container.component'; -import { StatistikMenuComponent } from './statistik-menu/statistik-menu.component'; - -describe('StatistikMenuContainerComponent', () => { - let component: StatistikMenuContainerComponent; - let fixture: ComponentFixture<StatistikMenuContainerComponent>; - - let configurationService: Mock<ConfigurationService>; - - const configurationStateResource: StateResource<ConfigurationResource> = createStateResource(createConfigurationResource()); - - beforeEach(async () => { - configurationService = { ...mock(ConfigurationService), get: jest.fn().mockReturnValue(of(configurationStateResource)) }; - - await TestBed.configureTestingModule({ - imports: [StatistikMenuContainerComponent], - declarations: [MockComponent(StatistikMenuComponent)], - providers: [ - { - provide: ConfigurationService, - useValue: configurationService, - }, - ], - }).compileComponents(); - - fixture = TestBed.createComponent(StatistikMenuContainerComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('ngOnInit', () => { - it('should call service', () => { - component.ngOnInit(); - - expect(configurationService.get).toHaveBeenCalled(); - }); - }); - - it('should call menu', () => { - const menu: StatistikMenuComponent = getMockComponent(fixture, StatistikMenuComponent); - - expect(menu.configurationStateResource).toBe(configurationStateResource); - }); -}); diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.ts b/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.ts deleted file mode 100644 index 3084cd0801..0000000000 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu-container.component.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { ConfigurationResource, ConfigurationService } from '@admin-client/configuration-shared'; -import { StateResource } from '@alfa-client/tech-shared'; -import { CommonModule } from '@angular/common'; -import { Component, inject, OnInit } from '@angular/core'; -import { Observable } from 'rxjs'; -import { StatistikMenuComponent } from './statistik-menu/statistik-menu.component'; - -@Component({ - selector: 'admin-statistik-menu-container', - standalone: true, - imports: [CommonModule, StatistikMenuComponent], - templateUrl: './statistik-menu-container.component.html', -}) -export class StatistikMenuContainerComponent implements OnInit { - private readonly configurationService = inject(ConfigurationService); - - public configurationStateResource$: Observable<StateResource<ConfigurationResource>>; - - ngOnInit(): void { - this.configurationStateResource$ = this.configurationService.get(); - } -} diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.html b/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.html deleted file mode 100644 index 6c6794fa9d..0000000000 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.html +++ /dev/null @@ -1,18 +0,0 @@ -<ods-nav-headline label="Statistik" /> -<div class="flex flex-col gap-2"> - @if (configurationStateResource.resource | hasLink: configurationLinkRel.AGGREGATION_MAPPINGS) { - <ods-nav-item data-test-id="statistik-navigation" caption="Auswertungen" [path]="'/' + ROUTES.AGGREGATION_MAPPING"> - <ods-icon icon name="statistic" fill="text" /> - </ods-nav-item> - } - <!-- @if (configurationStateResource.resource | hasLink: configurationLinkRel.**datenanfragen**) { --> - <ods-nav-item data-test-id="release-data-navigation" caption="Datenfreigaben" [path]="'/' + ROUTES.RELEASE_DATA"> - <ods-icon icon name="bar-chart-arrow" fill="text" /> - </ods-nav-item> - <!-- } --> - <!-- @if (configurationStateResource.resource | hasLink: configurationLinkRel.**datenfreigaben**) { --> - <ods-nav-item data-test-id="request-data-navigation" caption="Datenanfragen" [path]="'/' + ROUTES.REQUEST_DATA"> - <ods-icon icon name="bubble-question-mark" fill="text" /> - </ods-nav-item> - <!-- } --> -</div> diff --git a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.spec.ts b/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.spec.ts deleted file mode 100644 index 805ffa7faf..0000000000 --- a/alfa-client/libs/admin/configuration/src/lib/statistik-menu-container/statistik-menu/statistik-menu.component.spec.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { ConfigurationLinkRel } from '@admin-client/configuration-shared'; -import { createEmptyStateResource, createStateResource, HasLinkPipe } from '@alfa-client/tech-shared'; -import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IconComponent, NavItemComponent } from '@ods/system'; -import { createConfigurationResource } from 'libs/admin/configuration-shared/test/configuration'; -import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; -import { MockComponent } from 'ng-mocks'; -import { StatistikMenuComponent } from './statistik-menu.component'; - -describe('StatistikMenuComponent', () => { - let component: StatistikMenuComponent; - let fixture: ComponentFixture<StatistikMenuComponent>; - - const postfachNavigation: string = getDataTestIdOf('postfach-navigation'); - const statistikNavigationSelector: string = getDataTestIdOf('statistik-navigation'); - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [StatistikMenuComponent, HasLinkPipe], - declarations: [MockComponent(NavItemComponent), MockComponent(IconComponent)], - }).compileComponents(); - - fixture = TestBed.createComponent(StatistikMenuComponent); - component = fixture.componentInstance; - component.configurationStateResource = createEmptyStateResource(); - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('statistic navigation', () => { - it('should show if agregation mapping link is present', () => { - component.configurationStateResource = createStateResource( - createConfigurationResource([ConfigurationLinkRel.AGGREGATION_MAPPINGS]), - ); - - fixture.detectChanges(); - - existsAsHtmlElement(fixture, statistikNavigationSelector); - }); - - it('should hide if agregation mapping link is missing', () => { - component.configurationStateResource = createStateResource(createConfigurationResource()); - - fixture.detectChanges(); - - notExistsAsHtmlElement(fixture, statistikNavigationSelector); - }); - }); -}); diff --git a/alfa-client/libs/admin/shared/src/lib/routes.ts b/alfa-client/libs/admin/shared/src/lib/routes.ts index 11338ba98f..4fcb7a1f57 100644 --- a/alfa-client/libs/admin/shared/src/lib/routes.ts +++ b/alfa-client/libs/admin/shared/src/lib/routes.ts @@ -31,6 +31,6 @@ export enum ROUTES { AGGREGATION_MAPPING = 'statistik/auswertungen', AGGREGATION_MAPPING_NEU = 'statistik/auswertungen/neu', AGGREGATION_MAPPING_ID = 'statistik/auswertungen/:aggregationMappingId', - RELEASE_DATA = 'statistik/datenfreigaben', - REQUEST_DATA = 'statistik/datenanfragen', + DATENFREIGABEN = 'statistik/datenfreigaben', + DATENANFRAGEN = 'statistik/datenanfragen', } diff --git a/alfa-client/libs/tech-shared/src/index.ts b/alfa-client/libs/tech-shared/src/index.ts index 9220218eb9..31672f5bbb 100644 --- a/alfa-client/libs/tech-shared/src/index.ts +++ b/alfa-client/libs/tech-shared/src/index.ts @@ -43,6 +43,7 @@ export * from './lib/pipe/format-date-with-time.pipe'; export * from './lib/pipe/format-date-without-year-with-time.pipe'; export * from './lib/pipe/format-to-pretty-date.pipe'; export * from './lib/pipe/get-url.pipe'; +export * from './lib/pipe/has-any-link.pipe'; export * from './lib/pipe/has-link.pipe'; export * from './lib/pipe/not-has-link.pipe'; export * from './lib/pipe/to-embedded-resource.pipe'; -- GitLab