diff --git a/alfa-client/apps/alfa-e2e/src/components/navigation/navigation.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/navigation/navigation.e2e.component.ts
index 7e1a233687f36196443be78c7d3d56c2601cc51e..5f4b16d3b7c03aaf22996fa476bcc6cde954c363 100644
--- a/alfa-client/apps/alfa-e2e/src/components/navigation/navigation.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/navigation/navigation.e2e.component.ts
@@ -28,19 +28,19 @@ export class NavigationE2EComponent {
 
   private readonly locatorRoot: string = 'navigation';
 
-  public getRoot() {
+  public getRoot(): Cypress.Chainable<Element> {
     return cy.getTestElement(this.locatorRoot);
   }
 
-  public getAlleFilter() {
+  public getAlleFilter(): Cypress.Chainable<Element> {
     return cy.getTestElement(this.alleFilterToggleButton);
   }
 
-  public getMeineVorgaengeFilter() {
+  public getMeineVorgaengeFilter(): Cypress.Chainable<Element> {
     return cy.getTestElement(this.meineVorgaengeToggleButton);
   }
 
-  public getUnassignedFilter() {
+  public getUnassignedFilter(): Cypress.Chainable<Element> {
     return cy.getTestElement(this.unassignedToggleButton);
   }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component.ts
index 9ada0f2e5a1a3f6a6b52e516037e1040e5948fd0..09585caa4a0cf07a4e271b9c0f071afa5b8052da 100644
--- a/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component.ts
@@ -23,33 +23,16 @@
  */
 export class VorgangViewsE2EComponent {
   private readonly neuViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Neu');
-  private readonly angenommenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Angenommen',
-  );
-  private readonly inBearbeitungViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'In_Bearbeitung',
-  );
-  private readonly beschiedenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Beschieden',
-  );
-  private readonly abgeschlossenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Abgeschlossen',
-  );
-  private readonly verworfenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Verworfen',
-  );
-  private readonly zuLoeschenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Zu_Loschen',
-  );
-  private readonly ungelesenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Ungelesen',
-  );
-  private readonly wiedervorlagenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Wiedervorlagen',
-  );
-  private readonly vorgangListViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent(
-    'Vorgangsliste',
-  );
+  private readonly angenommenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Angenommen');
+  private readonly inBearbeitungViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('In_Bearbeitung');
+  private readonly beschiedenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Beschieden');
+  private readonly abgeschlossenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Abgeschlossen');
+  private readonly weitergeleitetViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Weitergeleitet');
+  private readonly verworfenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Verworfen');
+  private readonly zuLoeschenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Zu_Loschen');
+  private readonly ungelesenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Ungelesen');
+  private readonly wiedervorlagenViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Wiedervorlagen');
+  private readonly vorgangListViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Vorgangsliste');
   private readonly searchViewItem: VorgangViewE2EComponent = new VorgangViewE2EComponent('Suche');
 
   public getNeu(): VorgangViewE2EComponent {
@@ -72,6 +55,10 @@ export class VorgangViewsE2EComponent {
     return this.abgeschlossenViewItem;
   }
 
+  public getWeitergeleitet(): VorgangViewE2EComponent {
+    return this.weitergeleitetViewItem;
+  }
+
   public getVerworfen(): VorgangViewE2EComponent {
     return this.verworfenViewItem;
   }
@@ -108,15 +95,15 @@ export class VorgangViewE2EComponent {
     this.rootId = rootId;
   }
 
-  public getRoot() {
+  public getRoot(): Cypress.Chainable<Element> {
     return cy.getTestElement(`${this.root}${this.rootId}`);
   }
 
-  public getCount() {
+  public getCount(): Cypress.Chainable<Element> {
     return this.getRoot().getTestElement(`${this.count}${this.rootId}`);
   }
 
-  public getButton() {
+  public getButton(): Cypress.Chainable<Element> {
     return this.getRoot().findTestElementWithClass(this.button);
   }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts
index a254ba3a092baa3b88fa2579ecf0399e5a83029c..c92fb955a61b78ce58d2222f12b3ff8785c04670 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts
@@ -161,6 +161,12 @@ describe('VorgangList Page', () => {
         isKeyboardFocused(views.getAbgeschlossen().getButton());
       });
 
+      it('should focus Weitergeleitet view', () => {
+        pressTab();
+
+        isKeyboardFocused(views.getWeitergeleitet().getButton());
+      });
+
       it('should focus Verworfen view', () => {
         pressTab();
 
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts
index 2a2316dfc645ba0cbb99af05b34b041ce5d7646e..d8374f8aa947247e627e8d5d437f4aca9f61c9a7 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts
@@ -23,13 +23,22 @@
  */
 import { NavigationE2EComponent } from 'apps/alfa-e2e/src/components/navigation/navigation.e2e.component';
 import { VorgangListE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-list.e2e.component';
-import { VorgangViewsE2EComponent } from 'apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component';
+import {
+  VorgangViewE2EComponent,
+  VorgangViewsE2EComponent,
+} from 'apps/alfa-e2e/src/components/vorgang/vorgang-views.e2e.component';
 import { MainPage, waitForSpinnerToDisappear } from 'apps/alfa-e2e/src/page-objects/main.po';
 import { exist } from 'apps/alfa-e2e/src/support/cypress.util';
 import { Interception } from 'cypress/types/net-stubbing';
 import { HttpMethodE2E } from '../../../model/util';
 import { VorgangE2E, VorgangStatusE2E } from '../../../model/vorgang';
-import { dropCollections, intercept, scrollToWindowBottom, waitOfInterceptor } from '../../../support/cypress-helper';
+import {
+  dropCollections,
+  intercept,
+  scrollToWindowBottom,
+  scrollToWindowTop,
+  waitOfInterceptor,
+} from '../../../support/cypress-helper';
 import { generateIds } from '../../../support/tech.util';
 import { getUserSabineId, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util';
 import { buildVorgang, initVorgaenge } from '../../../support/vorgang-util';
@@ -43,6 +52,7 @@ describe('VorgangList View Pages', () => {
 
   const views: VorgangViewsE2EComponent = mainPage.getViews();
 
+  const VORGANG_NAME_PREFIX: string = 'Vorgang';
   const PAGE_SIZE: number = 100;
   const assignedTo: string = getUserSabineId();
 
@@ -57,6 +67,8 @@ describe('VorgangList View Pages', () => {
       createAssignedVorgaengeWithStatus(VorgangStatusE2E.BESCHIEDEN),
       createVorgaengeWithStatus(VorgangStatusE2E.ABGESCHLOSSEN),
       createAssignedVorgaengeWithStatus(VorgangStatusE2E.ABGESCHLOSSEN),
+      createVorgaengeWithStatus(VorgangStatusE2E.WEITERGELEITET),
+      createAssignedVorgaengeWithStatus(VorgangStatusE2E.WEITERGELEITET),
       createVorgaengeWithStatus(VorgangStatusE2E.VERWORFEN),
       createAssignedVorgaengeWithStatus(VorgangStatusE2E.VERWORFEN),
     );
@@ -73,914 +85,259 @@ describe('VorgangList View Pages', () => {
   });
 
   describe('Neu', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangNEU_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangNEUAssigned_';
+    const STATUS: string = VorgangStatusE2E.NEU;
 
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangNeuPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge NEU', () => {
-          views.getNeu().getRoot().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangNeuPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge NEU and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangNeuPageLink(3)).as(loadPageInterceptor);
-        });
-
-        it('should show page 3 with 10 vorgaenge NEU ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      function buildVorgangNeuPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=NEU`;
-      }
-    });
-
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangNeuAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge NEU', () => {
-          navigation.getMeineVorgaengeFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangNeuAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge NEU and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangNeuAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=NEU`;
-      }
-    });
-
-    describe('Nicht zugewiesen filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge NEU', () => {
-          navigation.getUnassignedFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, ALLE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=NEU`;
-      }
-    });
+    testAlleFilter(STATUS, views.getNeu());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
   });
 
   describe('Angenommen', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangANGENOMMEN_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangANGENOMMENAssigned_';
-
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          navigation.getAlleFilter().click();
-          waitForSpinnerToDisappear();
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge ANGENOMMEN', () => {
-          views.getAngenommen().getRoot().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge ANGENOMMEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenPageLink(3)).as(loadPageInterceptor);
-        });
-
-        it('should show page 3 with 10 vorgaenge ANGENOMMEN ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
+    const STATUS: string = VorgangStatusE2E.ANGENOMMEN;
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      function buildVorgangAngenommenPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=ANGENOMMEN`;
-      }
-    });
-
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge ANGENOMMEN', () => {
-          navigation.getMeineVorgaengeFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge ANGENOMMEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangAngenommenAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=ANGENOMMEN`;
-      }
-    });
-
-    describe('Nicht zugewiesen filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge ANGENOMMEN', () => {
-          navigation.getUnassignedFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAngenommenUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, ALLE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangAngenommenUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=ANGENOMMEN`;
-      }
-    });
+    testAlleFilter(STATUS, views.getAngenommen());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
   });
 
   describe('In Bearbeitung', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangIN_BEARBEITUNG_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangIN_BEARBEITUNGAssigned_';
+    const STATUS: string = VorgangStatusE2E.IN_BEARBEITUNG;
 
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          navigation.getAlleFilter().click();
-          waitForSpinnerToDisappear();
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge IN_BEARBEITUNG', () => {
-          views.getInBearbeitung().getRoot().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
+    testAlleFilter(STATUS, views.getInBearbeitung());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
+  });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+  describe('Bescheiden', () => {
+    const STATUS: string = VorgangStatusE2E.BESCHIEDEN;
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungPageLink(2)).as(loadPageInterceptor);
-        });
+    testAlleFilter(STATUS, views.getBeschieden());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
+  });
 
-        it('should show page 2 with 10 vorgaenge IN_BEARBEITUNG and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
+  describe('Abgeschlossen', () => {
+    const STATUS: string = VorgangStatusE2E.ABGESCHLOSSEN;
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
+    testAlleFilter(STATUS, views.getAbgeschlossen());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
+  });
 
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
+  describe('Weitergeleitet', () => {
+    const STATUS: string = VorgangStatusE2E.WEITERGELEITET;
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungPageLink(3)).as(loadPageInterceptor);
-        });
+    testAlleFilter(STATUS, views.getWeitergeleitet());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
+  });
 
-        it('should show page 3 with 10 vorgaenge IN_BEARBEITUNG ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
+  describe('Verworfen', () => {
+    const STATUS: string = VorgangStatusE2E.VERWORFEN;
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
+    testAlleFilter(STATUS, views.getVerworfen());
+    testMeineVorgaengeFilter(STATUS);
+    testNichtZugewiesenFilter(STATUS);
+  });
 
-      function buildVorgangInBearbeitungPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=IN_BEARBEITUNG`;
-      }
+  function testAlleFilter(status: string, view: VorgangViewE2EComponent) {
+    describe('Alle filter', () => {
+      testAlleFilterPage1(status, view);
+      testAlleFilterPage2(status);
+      testAlleFilterPage3(status);
     });
+  }
 
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge IN_BEARBEITUNG', () => {
-          navigation.getMeineVorgaengeFilter().click();
+  function testAlleFilterPage1(status: string, view: VorgangViewE2EComponent): void {
+    describe('page 1', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        navigation.getAlleFilter().click();
+        waitForSpinnerToDisappear();
+        intercept(HttpMethodE2E.GET, buildVorgangStatusPageLink(1, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+      it(`should show page 1 with 100 vorgaenge ${status}`, () => {
+        view.getRoot().click();
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge IN_BEARBEITUNG and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === PAGE_SIZE);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + status + 1);
+          assert(getVorgangList(interception)[99].name, VORGANG_NAME_PREFIX + status + PAGE_SIZE);
         });
       });
-
-      function buildVorgangInBearbeitungAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=IN_BEARBEITUNG`;
-      }
     });
+  }
 
-    describe('Nicht zugewiesen filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge IN_BEARBEITUNG', () => {
-          navigation.getUnassignedFilter().click();
+  function testAlleFilterPage2(status: string): void {
+    describe('page 2', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangStatusPageLink(2, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+      it(`should show page 2 with 10 vorgaenge ${status} and 90 vorgaenge ASSIGNED on scrolling to bottom`, () => {
+        scrollToWindowBottom();
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBearbeitungUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, ALLE_NAME_PREFIX + 110);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === PAGE_SIZE);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + 1);
+          assert(getVorgangList(interception)[99].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + PAGE_SIZE);
         });
       });
-
-      function buildVorgangInBearbeitungUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=IN_BEARBEITUNG`;
-      }
     });
-  });
-
-  describe('Beschieden', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangBESCHIEDEN_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangBESCHIEDENAssigned_';
-
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          navigation.getAlleFilter().click();
-          waitForSpinnerToDisappear();
-          intercept(HttpMethodE2E.GET, buildVorgangBeschiedenPageLink(1)).as(loadPageInterceptor);
-        });
+  }
 
-        it('should show page 1 with 100 vorgaenge BESCHIEDEN', () => {
-          views.getBeschieden().getRoot().click();
+  function testAlleFilterPage3(status: string): void {
+    describe('page 3', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangStatusPageLink(3, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangBeschiedenPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge BESCHIEDEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      after(() => {
+        scrollToWindowTop();
       });
 
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangBeschiedenPageLink(3)).as(loadPageInterceptor);
-        });
-
-        it('should show page 3 with 10 vorgaenge BESCHIEDEN ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
+      it(`should show page 3 with 10 vorgaenge ${status} ASSIGNED on scrolling to bottom`, () => {
+        scrollToWindowBottom();
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === 20);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + 80);
+          assert(getVorgangList(interception)[19].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + PAGE_SIZE);
         });
       });
-
-      function buildVorgangBeschiedenPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=BESCHIEDEN`;
-      }
     });
+  }
 
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBescheidenAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge BESCHIEDEN', () => {
-          navigation.getMeineVorgaengeFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBescheidenAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge BESCHIEDEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
-        });
-      });
+  function buildVorgangStatusPageLink(page: number, status: string): string {
+    return `${buildVorgangPageLink(page)}&status=${status}`;
+  }
 
-      function buildVorgangInBescheidenAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=BESCHIEDEN`;
-      }
+  function testMeineVorgaengeFilter(status: string): void {
+    describe('Meine Vorgänge filter', () => {
+      testMeineVorgaengePage1(status);
+      testMeineVorgaengePage2(status);
     });
+  }
 
-    describe('Nicht zugewiesen filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBescheidenUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge BESCHIEDEN', () => {
-          navigation.getUnassignedFilter().click();
+  function testMeineVorgaengePage1(status: string): void {
+    describe('page 1', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangInStatusAssignedPageLink(1, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+      it(`should show page 1 with 100 vorgaenge ${status}`, () => {
+        navigation.getMeineVorgaengeFilter().click();
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInBescheidenUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, ALLE_NAME_PREFIX + 110);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === PAGE_SIZE);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + 'Assigned_' + 1);
+          assert(getVorgangList(interception)[99].name, VORGANG_NAME_PREFIX + 'Assigned_' + PAGE_SIZE);
         });
       });
-
-      function buildVorgangInBescheidenUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=BESCHIEDEN`;
-      }
     });
-  });
-
-  describe('Abgeschlossen', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangABGESCHLOSSEN_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangABGESCHLOSSENAssigned_';
-
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          navigation.getAlleFilter().click();
-          waitForSpinnerToDisappear();
-          intercept(HttpMethodE2E.GET, buildVorgangAbgeschlossenPageLink(1)).as(loadPageInterceptor);
-        });
+  }
 
-        it('should show page 1 with 100 vorgaenge ABGESCHLOSSEN', () => {
-          views.getAbgeschlossen().getRoot().click();
+  function testMeineVorgaengePage2(status: string): void {
+    describe('page 2', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangInStatusAssignedPageLink(2, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAbgeschlossenPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge ABGESCHLOSSEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      after(() => {
+        scrollToWindowTop();
       });
 
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangAbgeschlossenPageLink(3)).as(loadPageInterceptor);
-        });
-
-        it('should show page 3 with 10 vorgaenge ABGESCHLOSSEN ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
+      it(`should show page 2 with 10 vorgaenge ${status} and 90 vorgaenge ASSIGNED on scrolling to bottom`, () => {
+        scrollToWindowBottom();
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === 10);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + 'Assigned_' + 101);
+          assert(getVorgangList(interception)[9].name, VORGANG_NAME_PREFIX + 'Assigned_' + 110);
         });
       });
-
-      function buildVorgangAbgeschlossenPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=ABGESCHLOSSEN`;
-      }
     });
+  }
 
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInAbgeschlossenAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge ABGESCHLOSSEN', () => {
-          navigation.getMeineVorgaengeFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInAbgeschlossenAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge ABGESCHLOSSEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangInAbgeschlossenAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=ABGESCHLOSSEN`;
-      }
-    });
+  function buildVorgangInStatusAssignedPageLink(page: number, status: string): string {
+    return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=${status}`;
+  }
 
+  function testNichtZugewiesenFilter(status: string): void {
     describe('Nicht zugewiesen filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInAbgeschlossenUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge ABGESCHLOSSEN', () => {
-          navigation.getUnassignedFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInAbgeschlossenUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
-        });
-      });
-
-      function buildVorgangInAbgeschlossenUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=ABGESCHLOSSEN`;
-      }
+      testNichtZugewiesenPage1(status);
+      testNichtZugewiesenPage2(status);
     });
-  });
-
-  describe('Verworfen', () => {
-    const ALLE_NAME_PREFIX: string = 'VorgangVERWORFEN_';
-    const MEINE_VORGAENGE_NAME_PREFIX: string = 'VorgangVERWORFENAssigned_';
-
-    describe('Alle filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          navigation.getAlleFilter().click();
-          waitForSpinnerToDisappear();
-          intercept(HttpMethodE2E.GET, buildVorgangVerworfenPageLink(1)).as(loadPageInterceptor);
-        });
+  }
 
-        it('should show page 1 with 100 vorgaenge VERWORFEN', () => {
-          views.getVerworfen().getRoot().click();
+  function testNichtZugewiesenPage1(status: string): void {
+    describe('page 1', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangInStatusUnassignedPageLink(1, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+      it(`should show page 1 with 100 vorgaeng ${status}`, () => {
+        navigation.getUnassignedFilter().click();
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangVerworfenPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge VERWORFEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === PAGE_SIZE);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + 1);
+          assert(getVorgangList(interception)[99].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + PAGE_SIZE);
         });
       });
-
-      describe('page 3', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangVerworfenPageLink(3)).as(loadPageInterceptor);
-        });
-
-        it('should show page 3 with 10 vorgaenge VERWORFEN ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 20);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 80);
-            assert(interception.response.body._embedded.vorgangHeaderList[19].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      function buildVorgangVerworfenPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&status=VERWORFEN`;
-      }
     });
+  }
 
-    describe('Meine Vorgänge filter', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInVerworfenAssignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge VERWORFEN', () => {
-          navigation.getMeineVorgaengeFilter().click();
+  function testNichtZugewiesenPage2(status: string): void {
+    describe('page 2', () => {
+      const loadPageInterceptor: string = 'loadPage';
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, MEINE_VORGAENGE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
+      beforeEach(() => {
+        intercept(HttpMethodE2E.GET, buildVorgangInStatusUnassignedPageLink(2, status)).as(loadPageInterceptor);
       });
 
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
+      it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
+        scrollToWindowBottom();
 
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInVerworfenAssignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge VERWORFEN and 90 vorgaenge ASSIGNED on scrolling to bottom', () => {
-          scrollToWindowBottom();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, MEINE_VORGAENGE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, MEINE_VORGAENGE_NAME_PREFIX + 110);
-          });
+        waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
+          assert(getVorgangList(interception).length === 10);
+          assert(getVorgangList(interception)[0].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + 101);
+          assert(getVorgangList(interception)[9].name, VORGANG_NAME_PREFIX + status + 'Assigned_' + 110);
         });
+        scrollToWindowTop();
       });
-
-      function buildVorgangInVerworfenAssignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=${assignedTo}&status=VERWORFEN`;
-      }
     });
+  }
 
-    describe('Nicht zugewiesen', () => {
-      describe('page 1', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInVerworfenUnassignedPageLink(1)).as(loadPageInterceptor);
-        });
-
-        it('should show page 1 with 100 vorgaenge VERWORFEN', () => {
-          navigation.getUnassignedFilter().click();
-
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === PAGE_SIZE);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 1);
-            assert(interception.response.body._embedded.vorgangHeaderList[99].name, ALLE_NAME_PREFIX + PAGE_SIZE);
-          });
-        });
-      });
-
-      describe('page 2', () => {
-        const loadPageInterceptor: string = 'loadPage';
-
-        beforeEach(() => {
-          intercept(HttpMethodE2E.GET, buildVorgangInVerworfenUnassignedPageLink(2)).as(loadPageInterceptor);
-        });
-
-        it('should show page 2 with 10 vorgaenge on scrolling to bottom', () => {
-          scrollToWindowBottom();
+  function buildVorgangInStatusUnassignedPageLink(page: number, status: string): string {
+    return `${buildVorgangPageLink(page)}&assignedTo=&status=${status}`;
+  }
 
-          waitOfInterceptor(loadPageInterceptor).then((interception: Interception) => {
-            assert(interception.response.body._embedded.vorgangHeaderList.length === 10);
-            assert(interception.response.body._embedded.vorgangHeaderList[0].name, ALLE_NAME_PREFIX + 101);
-            assert(interception.response.body._embedded.vorgangHeaderList[9].name, ALLE_NAME_PREFIX + 110);
-          });
-        });
-      });
+  function buildVorgangPageLink(page: number): string {
+    return `vorgangs?page=${page - 1}&limit=100`;
+  }
 
-      function buildVorgangInVerworfenUnassignedPageLink(page: number): string {
-        return `${buildVorgangPageLink(page)}&assignedTo=&status=VERWORFEN`;
-      }
-    });
-  });
+  function getVorgangList(interception: Interception): VorgangE2E[] {
+    return interception.response.body._embedded.vorgangHeaderList;
+  }
 
   function createVorgaengeWithStatus(status: VorgangStatusE2E): VorgangE2E[] {
     let count = 1;
     return generateIds(110).map((randomId) => {
       const vorgang: VorgangE2E = {
-        ...buildVorgang(randomId, 'Vorgang' + status + '_' + count),
+        ...buildVorgang(randomId, VORGANG_NAME_PREFIX + status + '_' + count),
         status,
       };
       count++;
@@ -992,7 +349,7 @@ describe('VorgangList View Pages', () => {
     let count = 1;
     return generateIds(110).map((randomId) => {
       const vorgang: VorgangE2E = {
-        ...buildVorgang(randomId, 'Vorgang' + status + 'Assigned_' + count),
+        ...buildVorgang(randomId, VORGANG_NAME_PREFIX + status + 'Assigned_' + count),
         status,
         assignedTo,
       };
@@ -1000,8 +357,4 @@ describe('VorgangList View Pages', () => {
       return vorgang;
     });
   }
-
-  function buildVorgangPageLink(page: number): string {
-    return `vorgangs?page=${page - 1}&limit=100`;
-  }
 });
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts
index 2547f4523c44b68ebd98dacc223c38f8db94abf0..d2b2f5c137420c986239141c7b60c4dff57868f0 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts
@@ -66,12 +66,29 @@ describe('Vorgang views and filter', () => {
   const inBearbeitungView: VorgangViewE2EComponent = views.getInBearbeitung();
   const beschiedenView: VorgangViewE2EComponent = views.getBeschieden();
   const abgeschlossenView: VorgangViewE2EComponent = views.getAbgeschlossen();
+  const weitergeleitetView: VorgangViewE2EComponent = views.getWeitergeleitet();
   const verworfenView: VorgangViewE2EComponent = views.getVerworfen();
   const zuLoeschenView: VorgangViewE2EComponent = views.getZuLoeschen();
+  const ungelesenView: VorgangViewE2EComponent = views.getUngelesen();
   const wiedervorlagenView: VorgangViewE2EComponent = views.getWiedervorlagen();
   const vorgangListView: VorgangViewE2EComponent = views.getVorgangList();
   const sucheView: VorgangViewE2EComponent = views.getSuche();
 
+  const ALL_VIEW_COMPONENTS: VorgangViewE2EComponent[] = [
+    neuView,
+    angenommenView,
+    inBearbeitungView,
+    beschiedenView,
+    abgeschlossenView,
+    weitergeleitetView,
+    verworfenView,
+    zuLoeschenView,
+    ungelesenView,
+    wiedervorlagenView,
+    vorgangListView,
+    sucheView,
+  ];
+
   const navigation: NavigationE2EComponent = mainPage.getNavigation();
 
   const vorgangNeuAssigned: VorgangE2E = {
@@ -134,6 +151,16 @@ describe('Vorgang views and filter', () => {
     status: VorgangStatusE2E.ABGESCHLOSSEN,
   };
 
+  const vorgangWeitergeleitetAssigned: VorgangE2E = {
+    ...buildVorgang(objectIds[13], 'VorgangWeitergeleitetAssigned'),
+    status: VorgangStatusE2E.WEITERGELEITET,
+    assignedTo: getUserSabineId(),
+  };
+  const vorgangWeitergeleitetUnassigned: VorgangE2E = {
+    ...buildVorgang(objectIds[14], 'VorgangWeitergeleitetUnassigned'),
+    status: VorgangStatusE2E.WEITERGELEITET,
+  };
+
   const vorgangVerworfenAssigned: VorgangE2E = {
     ...buildVorgang(objectIds[9], 'VorgangVerworfenAssigned'),
     status: VorgangStatusE2E.VERWORFEN,
@@ -181,6 +208,13 @@ describe('Vorgang views and filter', () => {
     vorgangAbgeschlossenUnassigned.name,
   );
 
+  const vorgangWeitergeleitetAssignedInList: VorgangListItemE2EComponent = vorgangList.getListItem(
+    vorgangWeitergeleitetAssigned.name,
+  );
+  const vorgangWeitergeleitetUnassignedInList: VorgangListItemE2EComponent = vorgangList.getListItem(
+    vorgangWeitergeleitetUnassigned.name,
+  );
+
   const vorgangVerworfenAssignedInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangVerworfenAssigned.name);
   const vorgangVerworfenUnassignedInList: VorgangListItemE2EComponent = vorgangList.getListItem(vorgangVerworfenUnassigned.name);
 
@@ -189,7 +223,7 @@ describe('Vorgang views and filter', () => {
     vorgangZuLoeschenUnassigned.name,
   );
 
-  const LIST_SIZE: number = 14;
+  const LIST_SIZE: number = 16;
 
   before(() => {
     const vorgaenge: VorgangE2E[] = [
@@ -203,6 +237,8 @@ describe('Vorgang views and filter', () => {
       vorgangBeschiedenUnassigned,
       vorgangAbgeschlossenAssigned,
       vorgangAbgeschlossenUnassigned,
+      vorgangWeitergeleitetAssigned,
+      vorgangWeitergeleitetUnassigned,
       vorgangVerworfenAssigned,
       vorgangVerworfenUnassigned,
       vorgangZuLoeschenAssigned,
@@ -214,8 +250,6 @@ describe('Vorgang views and filter', () => {
     initUsermanagerUsers();
 
     loginAsSabine();
-
-    waitForSpinnerToDisappear();
   });
 
   after(() => {
@@ -257,6 +291,7 @@ describe('Vorgang views and filter', () => {
         isNotSelected(inBearbeitungView.getRoot());
         isNotSelected(beschiedenView.getRoot());
         isNotSelected(abgeschlossenView.getRoot());
+        isNotSelected(weitergeleitetView.getRoot());
         isNotSelected(verworfenView.getRoot());
         isNotSelected(zuLoeschenView.getRoot());
         isNotSelected(sucheView.getRoot());
@@ -283,6 +318,10 @@ describe('Vorgang views and filter', () => {
           contains(abgeschlossenView.getCount(), '2');
         });
 
+        it('weitergeleitet', () => {
+          contains(abgeschlossenView.getCount(), '2');
+        });
+
         it('verworfen', () => {
           contains(verworfenView.getCount(), '2');
         });
@@ -300,262 +339,82 @@ describe('Vorgang views and filter', () => {
 
   describe('Select view', () => {
     describe('Neu', () => {
-      it('should set selected after click', () => {
-        neuView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(neuView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), 2);
-        exist(vorgangNeuAssignedInList.getRoot());
-        exist(vorgangNeuUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(neuView, [vorgangNeuAssignedInList, vorgangNeuUnassignedInList]);
     });
 
     describe('Angenommen', () => {
-      it('should set selected after click', () => {
-        angenommenView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(angenommenView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), 2);
-        exist(vorgangAngenommenAssignedInList.getRoot());
-        exist(vorgangAngenommenUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(angenommenView, [vorgangAngenommenAssignedInList, vorgangAngenommenUnassignedInList]);
     });
 
     describe('In Bearbeitung', () => {
-      it('should set selected after click', () => {
-        inBearbeitungView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(inBearbeitungView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), LIST_SIZE - 12);
-        exist(vorgangInBearbeitungAssignedInList.getRoot());
-        exist(vorgangInBearbeitungUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(inBearbeitungView, [vorgangInBearbeitungAssignedInList, vorgangInBearbeitungUnassignedInList]);
     });
 
     describe('Beschieden', () => {
-      it('should set selected after click', () => {
-        beschiedenView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(beschiedenView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), LIST_SIZE - 12);
-        exist(vorgangBeschiedenAssignedInList.getRoot());
-        exist(vorgangBeschiedenUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(beschiedenView, [vorgangBeschiedenAssignedInList, vorgangBeschiedenUnassignedInList]);
     });
 
     describe('Abgeschlossen', () => {
-      it('should set selected after click', () => {
-        abgeschlossenView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(abgeschlossenView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
+      testAlleFilterViewSelection(abgeschlossenView, [vorgangAbgeschlossenAssignedInList, vorgangAbgeschlossenUnassignedInList]);
+    });
 
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), LIST_SIZE - 12);
-        exist(vorgangAbgeschlossenAssignedInList.getRoot());
-        exist(vorgangAbgeschlossenUnassignedInList.getRoot());
-      });
+    describe('Weitergeleitet', () => {
+      testAlleFilterViewSelection(weitergeleitetView, [
+        vorgangWeitergeleitetAssignedInList,
+        vorgangWeitergeleitetUnassignedInList,
+      ]);
     });
 
     describe('Verworfen', () => {
-      it('should set selected after click', () => {
-        verworfenView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(verworfenView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), LIST_SIZE - 12);
-        exist(vorgangVerworfenAssignedInList.getRoot());
-        exist(vorgangVerworfenUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(verworfenView, [vorgangVerworfenAssignedInList, vorgangVerworfenUnassignedInList]);
     });
 
     describe('Zu Löschen', () => {
-      it('should set selected after click', () => {
-        zuLoeschenView.getRoot().click();
-        waitForSpinnerToDisappear();
-
-        isSelected(zuLoeschenView.getRoot());
-      });
-
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
-
-      it('should filter List', () => {
-        haveLength(vorgangList.getItems(), LIST_SIZE - 12);
-        exist(vorgangZuLoeschenAssignedInList.getRoot());
-        exist(vorgangZuLoeschenUnassignedInList.getRoot());
-      });
+      testAlleFilterViewSelection(zuLoeschenView, [vorgangZuLoeschenAssignedInList, vorgangZuLoeschenUnassignedInList]);
     });
 
     describe('Wiedervorlagen', () => {
+      testAlleFilterViewSelection(wiedervorlagenView, [vorgangAngenommenUnassignedInList, vorgangAbgeschlossenAssignedInList]);
+    });
+
+    function testAlleFilterViewSelection(view: VorgangViewE2EComponent, listItems: VorgangListItemE2EComponent[]): void {
+      testViewSelection(view);
+      testOtherViewsAreUnselected(view);
+      testAlleFilterIsSelected();
+      testVorgangListItem(listItems);
+    }
+
+    function testViewSelection(view: VorgangViewE2EComponent): void {
       it('should set selected after click', () => {
-        wiedervorlagenView.getRoot().click();
+        view.getRoot().click();
         waitForSpinnerToDisappear();
 
-        isSelected(wiedervorlagenView.getRoot());
+        isSelected(view.getRoot());
       });
+    }
 
+    function testOtherViewsAreUnselected(selectedView: VorgangViewE2EComponent): void {
       it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-        isNotSelected(sucheView.getRoot());
+        ALL_VIEW_COMPONENTS.filter((view: VorgangViewE2EComponent) => view != selectedView).forEach(
+          (view: VorgangViewE2EComponent) => isNotSelected(view.getRoot()),
+        );
       });
+    }
 
+    function testAlleFilterIsSelected(): void {
       it('should keep filter selection', () => {
         isOdsButtonToggleChecked(navigation.getAlleFilter());
         isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
         isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
       });
+    }
 
+    function testVorgangListItem(listItems: VorgangListItemE2EComponent[]): void {
       it('should filter List', () => {
-        haveLength(vorgangList.getItems(), 2);
-
-        exist(vorgangAngenommenUnassignedInList.getRoot());
-        exist(vorgangAbgeschlossenAssignedInList.getRoot());
+        haveLength(vorgangList.getItems(), LIST_SIZE - 14);
+        listItems.forEach((item: VorgangListItemE2EComponent) => exist(item.getRoot()));
       });
-    });
+    }
 
     describe('VorgangList', () => {
       it('should set selected after click', () => {
@@ -571,6 +430,7 @@ describe('Vorgang views and filter', () => {
         isNotSelected(inBearbeitungView.getRoot());
         isNotSelected(beschiedenView.getRoot());
         isNotSelected(abgeschlossenView.getRoot());
+        isNotSelected(weitergeleitetView.getRoot());
         isNotSelected(zuLoeschenView.getRoot());
         isNotSelected(verworfenView.getRoot());
         isNotSelected(sucheView.getRoot());
@@ -595,22 +455,8 @@ describe('Vorgang views and filter', () => {
         isSelected(sucheView.getRoot());
       });
 
-      it('should unselect other views', () => {
-        isNotSelected(neuView.getRoot());
-        isNotSelected(angenommenView.getRoot());
-        isNotSelected(inBearbeitungView.getRoot());
-        isNotSelected(beschiedenView.getRoot());
-        isNotSelected(abgeschlossenView.getRoot());
-        isNotSelected(zuLoeschenView.getRoot());
-        isNotSelected(verworfenView.getRoot());
-        isNotSelected(vorgangListView.getRoot());
-      });
-
-      it('should keep filter selection', () => {
-        isOdsButtonToggleChecked(navigation.getAlleFilter());
-        isOdsButtonToggleNotChecked(navigation.getMeineVorgaengeFilter());
-        isOdsButtonToggleNotChecked(navigation.getUnassignedFilter());
-      });
+      testOtherViewsAreUnselected(sucheView);
+      testAlleFilterIsSelected();
 
       it('should show message', () => {
         haveText(vorgangList.getEmptySucheMessage(), 'Bitte geben Sie einen Suchbegriff ein.');
@@ -643,6 +489,7 @@ describe('Vorgang views and filter', () => {
         isNotSelected(inBearbeitungView.getRoot());
         isNotSelected(beschiedenView.getRoot());
         isNotSelected(abgeschlossenView.getRoot());
+        isNotSelected(weitergeleitetView.getRoot());
         isNotSelected(verworfenView.getRoot());
         isNotSelected(zuLoeschenView.getRoot());
         isNotSelected(vorgangListView.getRoot());
@@ -892,11 +739,11 @@ describe('Vorgang views and filter', () => {
     vorgangSearch.doSearch(searchString);
   }
 
-  function isNotSelected(element) {
+  function isNotSelected(element: Cypress.Chainable<Element>): void {
     notContainClass(element, 'selected');
   }
 
-  function isSelected(element) {
+  function isSelected(element: Cypress.Chainable<Element>): void {
     containClass(element, 'selected');
   }
 });
diff --git a/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts b/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts
index b4f477e2422f3bd0ea391d7d3259c29bd4b2a8a6..9e520f34e3c7641fc9dd0c0b2d6d4ff25ac39ab0 100644
--- a/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts
+++ b/alfa-client/apps/alfa-e2e/src/support/cypress-helper.ts
@@ -28,6 +28,7 @@ import { SmockerMocks } from '../model/smocker';
 import { UsermanagerUserE2E } from '../model/usermanager';
 import { VorgangE2E } from '../model/vorgang';
 import { VorgangAttachedItemE2E } from '../model/vorgang-attached-item';
+import { waitForSpinnerToDisappear } from '../page-objects/main.po';
 
 enum CypressTasks {
   DROP_COLLECTIONS = 'dropCollections',
@@ -62,6 +63,7 @@ export function login(userJsonPath: string): void {
   cy.fixture(userJsonPath).then((user) => {
     cy.login(user.name, user.password);
   });
+  waitForSpinnerToDisappear();
 }
 
 export function visitUrl(url: string): void {
@@ -170,6 +172,10 @@ export function scrollToWindowBottom(): void {
   cy.window().scrollTo('bottom');
 }
 
+export function scrollToWindowTop(): void {
+  cy.window().scrollTo('top');
+}
+
 export function intercept(method: string, url: string): Cypress.Chainable<null> {
   return cy.intercept(method, url);
 }
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();