diff --git a/alfa-client/apps/admin/src/app/app.component.html b/alfa-client/apps/admin/src/app/app.component.html index b8a2a57f0984c15be178bbfe6c5a1be5dbcbd12a..85289011b499a7322356001df49396a1a48ded32 100644 --- a/alfa-client/apps/admin/src/app/app.component.html +++ b/alfa-client/apps/admin/src/app/app.component.html @@ -15,7 +15,7 @@ </header> <div class="flex h-screen w-full justify-center overflow-y-auto"> <ods-navbar data-test-id="navigation"> - <ng-container *ngIf="apiRoot | hasLink: ApiRootLinkRel.CONFIGURATION"> + <ng-container *ngIf="apiRoot | hasLink: apiRootLinkRel.CONFIGURATION"> <ng-container *ngIf="environment.features.benutzerRollen"> <ods-nav-item data-test-id="users-roles-navigation" caption="Benutzer & Rollen" path="/benutzer_und_rollen"> <ods-users-icon class="stroke-text" icon /> @@ -27,7 +27,7 @@ <ods-mailbox-icon icon /> </ods-nav-item> </ng-container> - <ng-container *ngIf="apiRoot | hasLink: ApiRootLinkRel.ORGANISATIONS_EINHEIT"> + <ng-container *ngIf="apiRoot | hasLink: apiRootLinkRel.ORGANISATIONS_EINHEIT"> <ods-nav-item data-test-id="organisations-einheiten-navigation" caption="Organisationseinheiten" @@ -40,7 +40,7 @@ </ods-navbar> <main class="flex-1 overflow-y-auto bg-white px-6 py-4"> <router-outlet - *ngIf="apiRoot | hasLink: ApiRootLinkRel.CONFIGURATION; else configurationResourceLinkNotAvailable" + *ngIf="apiRoot | hasLink: apiRootLinkRel.CONFIGURATION; else configurationResourceLinkNotAvailable" data-test-id="router-outlet" ></router-outlet> <ng-template #configurationResourceLinkNotAvailable> diff --git a/alfa-client/apps/admin/src/app/app.component.ts b/alfa-client/apps/admin/src/app/app.component.ts index 369adaaa96d47e015faa12af07479663ec19826b..061f41f6114b92fe44fe6d2576ce286f7fbd02a2 100644 --- a/alfa-client/apps/admin/src/app/app.component.ts +++ b/alfa-client/apps/admin/src/app/app.component.ts @@ -15,7 +15,9 @@ export class AppComponent implements OnInit { readonly title = 'admin'; public apiRootStateResource$: Observable<StateResource<ApiRootResource>>; - public environment: Environment = getEnvironmentFactory(); + public readonly environment: Environment = getEnvironmentFactory(); + + public readonly apiRootLinkRel = ApiRootLinkRel; constructor( public authenticationService: AuthenticationService, @@ -42,6 +44,4 @@ export class AppComponent implements OnInit { const { iss, state, session_state, code, ...queryParams } = this.route.snapshot.queryParams; return queryParams; } - - protected readonly ApiRootLinkRel = ApiRootLinkRel; } diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.html b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.html index d4298fb96d7c2a38fd1014068f02b887c438194b..3b51a8348e6f498aebb2662b7906b149375eb25b 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.html +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.html @@ -1,5 +1,5 @@ <ng-container *ngIf="(apiRootStateResource$ | async)?.resource as apiRoot"> - @if (apiRoot | hasLink: ApiRootLinkRel.ORGANISATIONS_EINHEIT) { + @if (apiRoot | hasLink: apiRootLinkRel.ORGANISATIONS_EINHEIT) { <admin-organisationseinheit-form-container data-test-id="organisations-einheit-form" /> } </ng-container> diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.spec.ts b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.spec.ts index eb70d9123241996827a8440b6205cb4b25d35d8a..24743e785502b9aceeec929680b249f186befd9d 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.spec.ts +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.spec.ts @@ -15,13 +15,11 @@ describe('OrganisationsEinheitFormPageComponent', () => { const organisationsEinheitFormSelector: string = getDataTestIdOf('organisations-einheit-form'); - const apiRootStateResource$ = of(createStateResource(createApiRootResource())); - const apiRootService: Mock<ApiRootService> = { - ...mock(ApiRootService), - getApiRoot: jest.fn().mockReturnValue(apiRootStateResource$), - }; + let apiRootService: Mock<ApiRootService>; beforeEach(async () => { + apiRootService = mock(ApiRootService); + await TestBed.configureTestingModule({ imports: [TechSharedModule], declarations: [OrganisationsEinheitFormPageComponent, MockComponent(OrganisationsEinheitFormContainerComponent)], @@ -42,7 +40,19 @@ describe('OrganisationsEinheitFormPageComponent', () => { describe('component', () => { describe('ngOnInit', () => { - it('should get apiRoot', () => { + const apiRootStateResource$ = of(createStateResource(createApiRootResource())); + + beforeEach(() => { + apiRootService.getApiRoot.mockReturnValue(apiRootStateResource$); + }); + + it('should call apiRootService getApiRoot', () => { + component.ngOnInit(); + + expect(apiRootService.getApiRoot).toHaveBeenCalled(); + }); + + it('should get apiRootStateResource$', () => { component.ngOnInit(); expect(component.apiRootStateResource$).toBe(apiRootStateResource$); diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.ts b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.ts index 6a14ce6da44f0d1c4adf5c1e59c67dd12f163a15..3f3d7caaee6c195cafc37e47ceda66d08d4ffa25 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.ts +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-form-page/organisationseinheit-form-page.component.ts @@ -12,9 +12,9 @@ export class OrganisationsEinheitFormPageComponent implements OnInit { public apiRootStateResource$: Observable<StateResource<ApiRootResource>> = of(createEmptyStateResource<ApiRootResource>()); + public readonly apiRootLinkRel = ApiRootLinkRel; + ngOnInit(): void { this.apiRootStateResource$ = this.apiRootService.getApiRoot(); } - - protected readonly ApiRootLinkRel = ApiRootLinkRel; } diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.html b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.html index 883e3bad789094c3cb8cbebfb5be4931871a1600..81ac9db2471f4449e27b967acea804629dd0c5f1 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.html +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.html @@ -1,5 +1,5 @@ <ng-container *ngIf="(apiRootStateResource$ | async)?.resource as apiRoot"> - @if (apiRoot | hasLink: ApiRootLinkRel.ORGANISATIONS_EINHEIT) { + @if (apiRoot | hasLink: apiRootLinkRel.ORGANISATIONS_EINHEIT) { <admin-organisationseinheit-container data-test-id="organisations-einheit-container" /> } </ng-container> diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.spec.ts b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.spec.ts index 17a5736eae9427dd9e1b620ef21807111e59deec..c1161e03b9678b33387383edc9cad99a5b9760be 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.spec.ts +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.spec.ts @@ -15,13 +15,11 @@ describe('OrganisationsEinheitPageComponent', () => { const organisationsEinheitContainerSelector: string = getDataTestIdOf('organisations-einheit-container'); - const apiRootStateResource$ = of(createStateResource(createApiRootResource())); - const apiRootService: Mock<ApiRootService> = { - ...mock(ApiRootService), - getApiRoot: jest.fn().mockReturnValue(apiRootStateResource$), - }; + let apiRootService: Mock<ApiRootService>; beforeEach(async () => { + apiRootService = mock(ApiRootService); + await TestBed.configureTestingModule({ imports: [TechSharedModule], declarations: [OrganisationsEinheitPageComponent, MockComponent(OrganisationsEinheitContainerComponent)], @@ -40,6 +38,28 @@ describe('OrganisationsEinheitPageComponent', () => { expect(component).toBeTruthy(); }); + describe('component', () => { + describe('ngOnInit', () => { + const apiRootStateResource$ = of(createStateResource(createApiRootResource())); + + beforeEach(() => { + apiRootService.getApiRoot.mockReturnValue(apiRootStateResource$); + }); + + it('should call apiRootService getApiRoot', () => { + component.ngOnInit(); + + expect(apiRootService.getApiRoot).toHaveBeenCalled(); + }); + + it('should get apiRootStateResource$', () => { + component.ngOnInit(); + + expect(component.apiRootStateResource$).toBe(apiRootStateResource$); + }); + }); + }); + describe('template', () => { describe('admin-organisationseinheit-container', () => { it('should be rendered if apiRootState has link', () => { diff --git a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.ts b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.ts index 08fdbd714dc2f421a2b2614f18b47d743c494011..f7f2d451c2a7a88db7dd3d7e83ce00e420768fcc 100644 --- a/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.ts +++ b/alfa-client/apps/admin/src/pages/organisationseinheit/organisationseinheit-page/organisationseinheit-page.component.ts @@ -1,19 +1,20 @@ import { ApiRootLinkRel, ApiRootResource, ApiRootService } from '@alfa-client/api-root-shared'; import { createEmptyStateResource, StateResource } from '@alfa-client/tech-shared'; -import { Component, inject } from '@angular/core'; +import { Component, inject, OnInit } from '@angular/core'; import { Observable, of } from 'rxjs'; @Component({ selector: 'organisationseinheit-page', templateUrl: './organisationseinheit-page.component.html', }) -export class OrganisationsEinheitPageComponent { +export class OrganisationsEinheitPageComponent implements OnInit { private apiRootService = inject(ApiRootService); public apiRootStateResource$: Observable<StateResource<ApiRootResource>> = of(createEmptyStateResource<ApiRootResource>()); + public readonly apiRootLinkRel = ApiRootLinkRel; + ngOnInit(): void { this.apiRootStateResource$ = this.apiRootService.getApiRoot(); } - protected readonly ApiRootLinkRel = ApiRootLinkRel; } diff --git a/alfa-client/apps/admin/src/pages/postfach/postfach-page/postfach-page.component.ts b/alfa-client/apps/admin/src/pages/postfach/postfach-page/postfach-page.component.ts index e517dd361f662c17b3c69994a76f1ee131f8bcd8..362987cbbc4ed3023050483e4b4c5632eccb3c7a 100644 --- a/alfa-client/apps/admin/src/pages/postfach/postfach-page/postfach-page.component.ts +++ b/alfa-client/apps/admin/src/pages/postfach/postfach-page/postfach-page.component.ts @@ -6,5 +6,5 @@ import { Component } from '@angular/core'; templateUrl: './postfach-page.component.html', }) export class PostfachPageComponent { - public environment: Environment = getEnvironmentFactory(); + public readonly environment: Environment = getEnvironmentFactory(); } diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.ts b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.ts index e52105d82b847654bbd74d769a047a1bd0d48de7..4459cb7624103db427f092f92cfb59585ec3a97a 100644 --- a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.ts +++ b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.ts @@ -6,5 +6,5 @@ import { Component } from '@angular/core'; templateUrl: './user-add-page.component.html', }) export class UserAddPageComponent { - public environment: Environment = getEnvironmentFactory(); + public readonly environment: Environment = getEnvironmentFactory(); } diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.ts b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.ts index eacc7b424e712af3c12e5a182c0c9e339fa1d76b..5688b709c2a2782ad62ea98516b0fd95ae129eb1 100644 --- a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.ts +++ b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.ts @@ -6,5 +6,5 @@ import { Component } from '@angular/core'; templateUrl: './user-roles-page.component.html', }) export class UserRolesPageComponent { - public environment: Environment = getEnvironmentFactory(); + public readonly environment: Environment = getEnvironmentFactory(); }