From 696776526b8e669502ae8daa6aca06dd8c79575b Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 16 May 2024 08:48:00 +0200
Subject: [PATCH] OZG-5012 adjust admin app

---
 .../configuration/configuration.service.ts    |  1 -
 ...sationseinheit-container.component.spec.ts | 22 +++++++++----------
 .../lib/postfach/postfach-resource.service.ts | 12 ++++++----
 .../src/lib/postfach/postfach.service.spec.ts | 14 +++++++-----
 .../src/lib/user/user.service.spec.ts         | 12 +++++-----
 .../src/lib/resource/resource.service.spec.ts |  5 -----
 .../src/lib/resource/resource.util.ts         |  6 +++++
 7 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/alfa-client/libs/admin-settings/src/lib/configuration/configuration.service.ts b/alfa-client/libs/admin-settings/src/lib/configuration/configuration.service.ts
index f28fcbc906..a05704eabd 100644
--- a/alfa-client/libs/admin-settings/src/lib/configuration/configuration.service.ts
+++ b/alfa-client/libs/admin-settings/src/lib/configuration/configuration.service.ts
@@ -24,7 +24,6 @@ export class ConfigurationService {
     return {
       resource: this.apiRootService.getApiRoot(),
       getLinkRel: ApiRootLinkRel.CONFIGURATION,
-      editLinkRel: null,
     };
   }
 
diff --git a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
index 3d5ccfed1a..417eec4616 100644
--- a/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/organisationseinheit/organisationseinheit-container/organisationseinheit-container.component.spec.ts
@@ -1,27 +1,27 @@
-import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { OrganisationseinheitContainerComponent } from './organisationseinheit-container.component';
-import { OrganisationseinheitFormComponent } from './organisationseinheit-form/organisationseinheit-form.component';
-import { MockComponent } from 'ng-mocks';
-import { SecondaryButtonComponent } from '../../shared/secondary-button/secondary-button.component';
-import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import {
+  Mock,
   dispatchEventFromFixture,
   existsAsHtmlElement,
   getElementFromFixtureByType,
   mock,
-  Mock,
   notExistsAsHtmlElement,
 } from '@alfa-client/test-utils';
-import { OrganisationseinheitListComponent } from './organisationseinheit-list/organisationseinheit-list.component';
-import { UserService } from '../../user/user.service';
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
+import { MockComponent } from 'ng-mocks';
 import { of } from 'rxjs';
+import { singleCold } from '../../../../../tech-shared/test/marbles';
 import {
   createOrganisationseinheit,
   createOrganisationseinheitState,
 } from '../../../../test/user/user';
-import { Organisationseinheit } from '../../user/user.model';
-import { singleCold } from '../../../../../tech-shared/src/lib/resource/marbles';
+import { SecondaryButtonComponent } from '../../shared/secondary-button/secondary-button.component';
 import { SpinnerComponent } from '../../shared/spinner/spinner.component';
+import { Organisationseinheit } from '../../user/user.model';
+import { UserService } from '../../user/user.service';
+import { OrganisationseinheitContainerComponent } from './organisationseinheit-container.component';
+import { OrganisationseinheitFormComponent } from './organisationseinheit-form/organisationseinheit-form.component';
+import { OrganisationseinheitListComponent } from './organisationseinheit-list/organisationseinheit-list.component';
 
 describe('OrganisationseinheitContainerComponent', () => {
   let component: OrganisationseinheitContainerComponent;
diff --git a/alfa-client/libs/admin-settings/src/lib/postfach/postfach-resource.service.ts b/alfa-client/libs/admin-settings/src/lib/postfach/postfach-resource.service.ts
index 0a96e026be..4f84f805d1 100644
--- a/alfa-client/libs/admin-settings/src/lib/postfach/postfach-resource.service.ts
+++ b/alfa-client/libs/admin-settings/src/lib/postfach/postfach-resource.service.ts
@@ -1,7 +1,11 @@
-import { ApiResourceService, ResourceRepository } from '@alfa-client/tech-shared';
-import { PostfachResource } from './postfach.model';
+import {
+  ApiResourceService,
+  ResourceRepository,
+  ResourceServiceConfig,
+} from '@alfa-client/tech-shared';
 import { SettingsService } from '../admin-settings.service';
 import { PostfachLinkRel } from './postfach.linkrel';
+import { PostfachResource } from './postfach.model';
 
 export class PostfachResourceService extends ApiResourceService<
   PostfachResource,
@@ -15,10 +19,10 @@ export function postfachResourceServiceFactory(
   return new ApiResourceService(buildConfig(settingService), repository);
 }
 
-function buildConfig(settingService: SettingsService) {
+function buildConfig(settingService: SettingsService): ResourceServiceConfig<PostfachResource> {
   return {
     resource: settingService.getPostfach(),
     getLinkRel: PostfachLinkRel.SELF,
-    editLinkRel: PostfachLinkRel.SELF,
+    edit: { linkRel: PostfachLinkRel.SELF },
   };
 }
diff --git a/alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.spec.ts b/alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.spec.ts
index d9aa0df0f6..1beda5cd55 100644
--- a/alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/postfach/postfach.service.spec.ts
@@ -1,12 +1,16 @@
+import {
+  HttpError,
+  StateResource,
+  createStateResource,
+  mockResourceService,
+} from '@alfa-client/tech-shared';
 import { Mock, useFromMock } from '@alfa-client/test-utils';
-import { PostfachResource, PostfachSettingsItem } from './postfach.model';
-import { PostfachService } from './postfach.service';
-import { createPostfachResource, createPostfachSettingItem } from '../../../test/postfach/postfach';
-import { createStateResource, HttpError, StateResource } from '@alfa-client/tech-shared';
 import { Observable } from 'rxjs';
 import { singleCold, singleHot } from '../../../../tech-shared/test/marbles';
+import { createPostfachResource, createPostfachSettingItem } from '../../../test/postfach/postfach';
 import { PostfachResourceService } from './postfach-resource.service';
-import { mockResourceService } from '../../../../tech-shared/test/resource';
+import { PostfachResource, PostfachSettingsItem } from './postfach.model';
+import { PostfachService } from './postfach.service';
 
 describe('PostfachService', () => {
   let service: PostfachService;
diff --git a/alfa-client/libs/admin-settings/src/lib/user/user.service.spec.ts b/alfa-client/libs/admin-settings/src/lib/user/user.service.spec.ts
index 32e15e4bd3..f15073e7d7 100644
--- a/alfa-client/libs/admin-settings/src/lib/user/user.service.spec.ts
+++ b/alfa-client/libs/admin-settings/src/lib/user/user.service.spec.ts
@@ -1,15 +1,15 @@
-import { UserService } from './user.service';
-import { UserRepository } from './user.repository.service';
 import { mock, Mock, useFromMock } from '@alfa-client/test-utils';
+import { fakeAsync, tick } from '@angular/core/testing';
+import { cold } from 'jest-marbles';
+import { firstValueFrom, lastValueFrom, Observable, of } from 'rxjs';
+import { singleCold } from '../../../../tech-shared/test/marbles';
 import {
   createOrganisationseinheit,
   createOrganisationseinheitState,
 } from '../../../test/user/user';
-import { firstValueFrom, lastValueFrom, Observable, of } from 'rxjs';
 import { Organisationseinheit } from './user.model';
-import { cold } from 'jest-marbles';
-import { fakeAsync, tick } from '@angular/core/testing';
-import { singleCold } from '../../../../tech-shared/src/lib/resource/marbles';
+import { UserRepository } from './user.repository.service';
+import { UserService } from './user.service';
 
 describe('UserService', () => {
   let service: UserService;
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts b/alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts
index c9cf9b1866..8c6b5ae509 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/resource.service.spec.ts
@@ -18,7 +18,6 @@ import {
   createStateResource,
 } from './resource.util';
 
-import { Type } from '@angular/core';
 import { ResourceService } from './resource.service';
 import * as ResourceUtil from './resource.util';
 
@@ -510,10 +509,6 @@ describe('ResourceService', () => {
   });
 });
 
-export function mockResourceService<T>(service: Type<T>): Mock<T> {
-  return <Mock<T>>{ ...mock(service), get: jest.fn(), save: jest.fn() };
-}
-
 export class DummyResourceService<B extends Resource, T extends Resource> extends ResourceService<
   B,
   T
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts b/alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts
index deaa71132a..b0e49a8f21 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/resource.util.ts
@@ -21,8 +21,10 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
+import { Type } from '@angular/core';
 import { Resource, ResourceUri, getEmbeddedResource, getUrl, hasLink } from '@ngxp/rest';
 import { isEqual, isNil, isNull } from 'lodash-es';
+import { Mock, mock } from '../../../../test-utils/src/lib/mocking';
 import { HttpError } from '../tech.model';
 import { encodeUrlForEmbedding, isNotNull } from '../tech.util';
 
@@ -139,3 +141,7 @@ export function isInvalidResourceCombination<T extends Resource, B extends Resou
 export function isStateResoureStable<T>(stateResource: StateResource<T>): boolean {
   return !stateResource.loading && !stateResource.reload;
 }
+
+export function mockResourceService<T>(service: Type<T>): Mock<T> {
+  return <Mock<T>>{ ...mock(service), get: jest.fn(), save: jest.fn() };
+}
-- 
GitLab