diff --git a/alfa-client/apps/admin/src/app/app.component.html b/alfa-client/apps/admin/src/app/app.component.html
index 9dd7a6ab0f9a470fac3f834887e7f627bd832c66..b8a2a57f0984c15be178bbfe6c5a1be5dbcbd12a 100644
--- a/alfa-client/apps/admin/src/app/app.component.html
+++ b/alfa-client/apps/admin/src/app/app.component.html
@@ -17,7 +17,7 @@
     <ods-navbar data-test-id="navigation">
       <ng-container *ngIf="apiRoot | hasLink: ApiRootLinkRel.CONFIGURATION">
         <ng-container *ngIf="environment.features.benutzerRollen">
-          <ods-nav-item data-test-id="benutzer-und-rollen-navigation" caption="Benutzer & Rollen" path="/benutzer_und_rollen">
+          <ods-nav-item data-test-id="users-roles-navigation" caption="Benutzer & Rollen" path="/benutzer_und_rollen">
             <ods-users-icon class="stroke-text" icon />
           </ods-nav-item>
           <hr />
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 15f471fb15d9b1151896620728ea8098c837b334..212128e52b594d9b397ac8fffa3893dc0b07bfac 100644
--- a/alfa-client/apps/admin/src/app/app.component.spec.ts
+++ b/alfa-client/apps/admin/src/app/app.component.spec.ts
@@ -38,7 +38,7 @@ describe('AppComponent', () => {
   const buildInfoSelector: string = getDataTestIdOf('build-info');
   const userProfileButtonSelector: string = getDataTestIdOf('user-profile-button');
   const navigationSelector: string = getDataTestIdOf('navigation');
-  const benutzerUndRollenNavigationSelector: string = getDataTestIdOf('benutzer-und-rollen-navigation');
+  const usersRolesNavigationSelector: string = getDataTestIdOf('users-roles-navigation');
   const postfachNavigationSelector: string = getDataTestIdOf('postfach-navigation');
   const organisationsEinheitenNavigationSelector: string = getDataTestIdOf('organisations-einheiten-navigation');
   const logoLink: string = getDataTestIdOf('logo-link');
@@ -234,14 +234,14 @@ describe('AppComponent', () => {
         component.environment.features.benutzerRollen = true;
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, benutzerUndRollenNavigationSelector);
+        existsAsHtmlElement(fixture, usersRolesNavigationSelector);
       });
 
       it('should not show benutzer & rollen if benutzerRollen feature toggle is false', () => {
         component.environment.features.benutzerRollen = false;
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, benutzerUndRollenNavigationSelector);
+        notExistsAsHtmlElement(fixture, usersRolesNavigationSelector);
       });
 
       it('should show organisationsEinheiten if link in apiRoot exists', () => {
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 2449a303b186022b68d062f7b59ba73c5cb6a790..71a2c7edd3ad77f56b5536cf419e1ad8d11fd837 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 +1,5 @@
-<admin-organisationseinheit-form-container/>
\ No newline at end of file
+<ng-container *ngIf="(apiRootStateResource$ | async)?.resource as apiRoot">
+  @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 4ad49ca4595e598e66a9e6b0d40b46cca0d606b5..e27ea055d18d984cfb5edc24df6f93fe3a01a212 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
@@ -1,15 +1,31 @@
 import { OrganisationsEinheitFormContainerComponent } from '@admin-client/admin-settings';
+import { ApiRootLinkRel, ApiRootService } from '@alfa-client/api-root-shared';
+import { createStateResource, TechSharedModule } from '@alfa-client/tech-shared';
+import { existsAsHtmlElement, mock, Mock, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { createApiRootResource } from 'libs/api-root-shared/test/api-root';
+import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
+import { of } from 'rxjs';
 import { OrganisationsEinheitFormPageComponent } from './organisationseinheit-form-page.component';
 
 describe('OrganisationsEinheitFormPageComponent', () => {
   let component: OrganisationsEinheitFormPageComponent;
   let fixture: ComponentFixture<OrganisationsEinheitFormPageComponent>;
 
+  const organisationsEinheiteFormSelector: string = getDataTestIdOf('organisations-einheit-form');
+
+  const apiRootStateResource$ = of(createStateResource(createApiRootResource()));
+  const apiRootService: Mock<ApiRootService> = {
+    ...mock(ApiRootService),
+    getApiRoot: jest.fn().mockReturnValue(apiRootStateResource$),
+  };
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
+      imports: [TechSharedModule],
       declarations: [OrganisationsEinheitFormPageComponent, MockComponent(OrganisationsEinheitFormContainerComponent)],
+      providers: [{ provide: ApiRootService, useValue: apiRootService }],
     }).compileComponents();
   });
 
@@ -23,4 +39,31 @@ describe('OrganisationsEinheitFormPageComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  describe('component', () => {
+    describe('ngOnInit', () => {
+      it('should get apiRoot', () => {
+        component.ngOnInit();
+
+        expect(component.apiRootStateResource$).toBe(apiRootStateResource$);
+      });
+    });
+  });
+
+  describe('template', () => {
+    // todo: fix me
+    describe('admin-organisationseinheit-form-container', () => {
+      it('should be rendered if apiRootState has link', () => {
+        component.apiRootStateResource$ = of(createStateResource(createApiRootResource([ApiRootLinkRel.ORGANISATIONS_EINHEIT])));
+
+        existsAsHtmlElement(fixture, organisationsEinheiteFormSelector);
+      });
+
+      it('should not be rendered if apiRootState has no link', () => {
+        component.apiRootStateResource$ = of(createStateResource(createApiRootResource()));
+
+        notExistsAsHtmlElement(fixture, organisationsEinheiteFormSelector);
+      });
+    });
+  });
 });
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 b7c9e0ea72a6ccd313239a4461f3a75692be5d9d..6a14ce6da44f0d1c4adf5c1e59c67dd12f163a15 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
@@ -1,7 +1,20 @@
-import { Component } from '@angular/core';
+import { ApiRootLinkRel, ApiRootResource, ApiRootService } from '@alfa-client/api-root-shared';
+import { createEmptyStateResource, StateResource } from '@alfa-client/tech-shared';
+import { Component, inject, OnInit } from '@angular/core';
+import { Observable, of } from 'rxjs';
 
 @Component({
   selector: 'organisationseinheit-form-page',
   templateUrl: './organisationseinheit-form-page.component.html',
 })
-export class OrganisationsEinheitFormPageComponent {}
+export class OrganisationsEinheitFormPageComponent implements OnInit {
+  private apiRootService = inject(ApiRootService);
+
+  public apiRootStateResource$: Observable<StateResource<ApiRootResource>> = of(createEmptyStateResource<ApiRootResource>());
+
+  ngOnInit(): void {
+    this.apiRootStateResource$ = this.apiRootService.getApiRoot();
+  }
+
+  protected readonly ApiRootLinkRel = ApiRootLinkRel;
+}
diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.html b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.html
index dad58a8662dd19eb059273474e2df1474305d3b4..b6866e0ee5dac2eeaf239ac9e1d759a78a1ff3fa 100644
--- a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.html
+++ b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.html
@@ -1 +1,3 @@
-<admin-user-add-form />
+@if(environment.features.benutzerRollen){
+  <admin-user-add-form data-test-id="user-add-form"/>
+}
\ No newline at end of file
diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.spec.ts b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.spec.ts
index eecaa8e5c0c24be917a8b968d2af926dbf1ff56f..49c6e7a84d7daadaaaac737598acbcddf744ce0c 100644
--- a/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.spec.ts
+++ b/alfa-client/apps/admin/src/pages/users-roles/user-add-page/user-add-page.component.spec.ts
@@ -1,5 +1,8 @@
 import { UserAddFormComponent } from '@admin-client/admin-settings';
+import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { createEnvironment } from 'libs/environment-shared/test/environment';
+import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
 import { UserAddPageComponent } from './user-add-page.component';
 
@@ -7,6 +10,9 @@ describe('UserAddPageComponent', () => {
   let component: UserAddPageComponent;
   let fixture: ComponentFixture<UserAddPageComponent>;
 
+  const userAddFormSelector: string = getDataTestIdOf('user-add-form');
+  const environment = createEnvironment();
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [UserAddPageComponent, MockComponent(UserAddFormComponent)],
@@ -14,10 +20,27 @@ describe('UserAddPageComponent', () => {
 
     fixture = TestBed.createComponent(UserAddPageComponent);
     component = fixture.componentInstance;
+    component.environment = environment;
     fixture.detectChanges();
   });
 
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  describe('template', () => {
+    it('should render the users roles component if feature toggle is true', () => {
+      environment.features.benutzerRollen = true;
+      fixture.detectChanges();
+
+      existsAsHtmlElement(fixture, userAddFormSelector);
+    });
+
+    it('should not render the users roles component if feature toggle is false', () => {
+      environment.features.benutzerRollen = false;
+      fixture.detectChanges();
+
+      notExistsAsHtmlElement(fixture, userAddFormSelector);
+    });
+  });
 });
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 f3bcc1eaf5f74df921a17932bea865ce96a61907..e52105d82b847654bbd74d769a047a1bd0d48de7 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
@@ -1,7 +1,10 @@
+import { Environment, getEnvironmentFactory } from '@alfa-client/environment-shared';
 import { Component } from '@angular/core';
 
 @Component({
   selector: 'user-add-page',
   templateUrl: './user-add-page.component.html',
 })
-export class UserAddPageComponent {}
+export class UserAddPageComponent {
+  public environment: Environment = getEnvironmentFactory();
+}
diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.html b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.html
index 3000e0ffbac09b63c3d12d715638ab67f610bc39..dc2545d6527cb4109c09c3cbb5bb887c1b492774 100644
--- a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.html
+++ b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.html
@@ -1 +1,3 @@
-<admin-users-roles />
\ No newline at end of file
+@if(environment.features.benutzerRollen){
+  <admin-users-roles data-test-id="users-roles"/>
+}
diff --git a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.spec.ts b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.spec.ts
index 1285eda7400123a525353d217969ab1d0d681074..a25520507ff6a3cf0c41caa26bffe2ca64f35062 100644
--- a/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.spec.ts
+++ b/alfa-client/apps/admin/src/pages/users-roles/user-roles-page/user-roles-page.component.spec.ts
@@ -1,5 +1,8 @@
 import { UsersRolesComponent } from '@admin-client/admin-settings';
+import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { createEnvironment } from 'libs/environment-shared/test/environment';
+import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { MockComponent } from 'ng-mocks';
 import { UserRolesPageComponent } from './user-roles-page.component';
 
@@ -7,6 +10,9 @@ describe('UserRolesPageComponent', () => {
   let component: UserRolesPageComponent;
   let fixture: ComponentFixture<UserRolesPageComponent>;
 
+  const usersRolesSelector: string = getDataTestIdOf('users-roles');
+  const environment = createEnvironment();
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [UserRolesPageComponent],
@@ -15,10 +21,27 @@ describe('UserRolesPageComponent', () => {
 
     fixture = TestBed.createComponent(UserRolesPageComponent);
     component = fixture.componentInstance;
+    component.environment = environment;
     fixture.detectChanges();
   });
 
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  describe('template', () => {
+    it('should render the users roles component if feature toggle is true', () => {
+      environment.features.benutzerRollen = true;
+      fixture.detectChanges();
+
+      existsAsHtmlElement(fixture, usersRolesSelector);
+    });
+
+    it('should not render the users roles component if feature toggle is false', () => {
+      environment.features.benutzerRollen = false;
+      fixture.detectChanges();
+
+      notExistsAsHtmlElement(fixture, usersRolesSelector);
+    });
+  });
 });
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 6b3576a76e34d01f319b4a8b2c4f44c82c62f44f..eacc7b424e712af3c12e5a182c0c9e339fa1d76b 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
@@ -1,7 +1,10 @@
+import { Environment, getEnvironmentFactory } from '@alfa-client/environment-shared';
 import { Component } from '@angular/core';
 
 @Component({
   selector: 'app-user-roles-page',
   templateUrl: './user-roles-page.component.html',
 })
-export class UserRolesPageComponent {}
+export class UserRolesPageComponent {
+  public environment: Environment = getEnvironmentFactory();
+}