diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.model.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.model.ts
index 98667ab3a52778e4620adbfdede70e1e0dcd8e4e..0b7283732bb6d3096ed251d2281503016f739b93 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.model.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.model.ts
@@ -37,3 +37,7 @@ export enum BescheidWizardStep {
   DokumenteHochladen = 2,
   BescheidVersenden = 3,
 }
+
+export interface BescheidWizardDialogResult {
+  reloadVorgang: boolean;
+}
diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
index af8a128a82dc99578aa7bfdf64f4bb997603dd38..e36a84e4df075733f10c4bfce67483f094ca0daa 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.spec.ts
@@ -103,7 +103,9 @@ describe('BescheidService', () => {
 
   describe('getActiveStep', () => {
     it('should emit initial value', () => {
-      expect(service.getActiveStep()).toBeObservable(singleCold(BescheidWizardStep.AntragBescheiden));
+      const activeStep$: Observable<number> = service.getActiveStep();
+
+      expect(activeStep$).toBeObservable(singleCold(BescheidWizardStep.AntragBescheiden));
     });
   });
 
@@ -111,7 +113,7 @@ describe('BescheidService', () => {
     it('should emit changed active step', () => {
       service.setActiveStep(BescheidWizardStep.DokumenteHochladen);
 
-      expect(service.getActiveStep()).toBeObservable(singleCold(BescheidWizardStep.DokumenteHochladen));
+      expect(service.activeStep$).toBeObservable(singleCold(BescheidWizardStep.DokumenteHochladen));
     });
   });
 
@@ -871,7 +873,7 @@ describe('BescheidService', () => {
 
       service.init();
 
-      expect(service.getActiveStep()).toBeObservable(singleCold(1));
+      expect(service.activeStep$).toBeObservable(singleCold(1));
     });
   });
 
diff --git a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
index 0c9b7d8c1c1273fa1e6d4e9333174105018b7d3d..8c76ba58973ec05b98571d86ee1e26da368c5db7 100644
--- a/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
+++ b/alfa-client/libs/bescheid-shared/src/lib/bescheid.service.ts
@@ -60,7 +60,7 @@ import { DocumentResource } from './document.model';
 
 @Injectable({ providedIn: 'root' })
 export class BescheidService {
-  private readonly activeStep$: BehaviorSubject<BescheidWizardStep> = new BehaviorSubject(BescheidWizardStep.AntragBescheiden);
+  readonly activeStep$: BehaviorSubject<BescheidWizardStep> = new BehaviorSubject(BescheidWizardStep.AntragBescheiden);
 
   bescheidResourceService: ResourceService<VorgangWithEingangResource, BescheidResource>;
   bescheidListResourceService: ResourceListService<VorgangWithEingangResource, BescheidListResource, BescheidResource>;
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-in-vorgang-container/bescheid-in-vorgang/bescheid-in-vorgang.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-in-vorgang-container/bescheid-in-vorgang/bescheid-in-vorgang.component.spec.ts
index b7c40fb33dbeedcebd884f2efa7c190bd320cdec..2a5450489d1b8592cb1912e1a11390efe976db78 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-in-vorgang-container/bescheid-in-vorgang/bescheid-in-vorgang.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-in-vorgang-container/bescheid-in-vorgang/bescheid-in-vorgang.component.spec.ts
@@ -28,7 +28,7 @@ describe('BescheidInVorgangComponent', () => {
   const binaryFile: BinaryFileResource = createBinaryFileResource();
   const binaryFileStateResource: StateResource<BinaryFileResource> = createStateResource(binaryFile);
 
-  const bescheidDocumentBinaryFileContainer = getDataTestIdOf('bescheid-document-in-vorgang-binary-file');
+  const bescheidDocumentBinaryFileContainer: string = getDataTestIdOf('bescheid-document-in-vorgang-binary-file');
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/bescheid-list-in-vorgang.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/bescheid-list-in-vorgang.component.ts
index d8607e426d22e858d48673a678a3f593a2c32824..3ebd9ece73f85fe24a2817f27cef4df6acfd31b9 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/bescheid-list-in-vorgang.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-list-in-vorgang-container/bescheid-list-in-vorgang/bescheid-list-in-vorgang.component.ts
@@ -1,9 +1,4 @@
-import {
-  BescheidLinkRel,
-  BescheidListLinkRel,
-  BescheidListResource,
-  BescheidStatus,
-} from '@alfa-client/bescheid-shared';
+import { BescheidLinkRel, BescheidListLinkRel, BescheidListResource, BescheidStatus } from '@alfa-client/bescheid-shared';
 import { Component, Input } from '@angular/core';
 
 @Component({
@@ -12,7 +7,7 @@ import { Component, Input } from '@angular/core';
   styles: [],
 })
 export class BescheidListInVorgangComponent {
-  @Input() bescheidList: BescheidListResource;
+  @Input() public bescheidList: BescheidListResource;
 
   public readonly bescheidListLinkRel = BescheidListLinkRel;
   public readonly bescheidLinkRel = BescheidLinkRel;
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
index 33d8c84aea0ed1e4f0f4f2b41d383a54c76e3d4f..47feee904d3ac5176801d46f6ef374184cb5cfcb 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.html
@@ -1,10 +1,4 @@
-<div
-  class="relative z-10 duration-500 ease-in-out"
-  aria-label="Bescheid Dialog"
-  role="dialog"
-  aria-modal="true"
-  data-test-id="bescheid-wizard"
->
+<div class="relative z-10 duration-500 ease-in-out" aria-label="Bescheid Dialog" role="dialog" aria-modal="true">
   <div class="fixed inset-0 z-10 w-screen overflow-y-auto">
     <div class="flex h-full items-center justify-center p-8">
       <div
@@ -16,20 +10,19 @@
             size="fit"
             class="absolute right-0 top-0 text-text"
             (clickEmitter)="cancelWizard(bescheidStateResource.resource)"
-            dataTestId="close-bescheid"
+            data-test-id="close-bescheid"
           >
             <ods-close-icon icon />
           </ods-button>
-          <form [formGroup]="formService.form" class="relative h-full">
-            <alfa-bescheid-wizard
-              [vorgangWithEingangResource]="vorgangWithEingangResource"
-              [activeStep]="bescheidService.getActiveStep() | async"
-              [bescheidStateResource]="bescheidStateResource"
-              [submitStateResource]="submitStateResource$ | async"
-              (weiterClickEmitter)="onWeiter($event)"
-              (vorgangAbgeschlossen)="onVorgangAbgeschlossen()"
-            ></alfa-bescheid-wizard>
-          </form>
+          <alfa-bescheid-wizard
+            [vorgangWithEingangResource]="vorgangWithEingangResource"
+            [activeStep]="bescheidService.getActiveStep() | async"
+            [bescheidStateResource]="bescheidStateResource"
+            [submitStateResource]="submitStateResource$ | async"
+            (weiterClickEmitter)="onWeiter($event)"
+            (vorgangAbgeschlossen)="onVorgangAbgeschlossen()"
+            data-test-id="bescheid-wizard"
+          ></alfa-bescheid-wizard>
         </ng-container>
       </div>
     </div>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
index 2d15bdc8d6609d3306fe76deddfcd0c17e79841a..e09cca2f663a659a867467375030620b111cb82b 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.spec.ts
@@ -1,4 +1,4 @@
-import { BescheidResource, BescheidService, BescheidWizardStep } from '@alfa-client/bescheid-shared';
+import { BescheidResource, BescheidService, BescheidWizardDialogResult, BescheidWizardStep } from '@alfa-client/bescheid-shared';
 import { CommandOrder, CommandResource } from '@alfa-client/command-shared';
 import {
   ESCAPE_KEY,
@@ -21,7 +21,6 @@ import { OzgcloudDialogService } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
 import { ButtonComponent, CloseIconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { EMPTY, of } from 'rxjs';
@@ -32,6 +31,7 @@ import {
   createSuccessfullyDoneCommandResource,
   createSuccessfullyDoneCommandStateResource,
 } from '../../../../command-shared/test/command';
+import { getDataTestIdOf } from '../../../../tech-shared/test/data-test';
 import { createApiError } from '../../../../tech-shared/test/error';
 import { singleColdCompleted } from '../../../../tech-shared/test/marbles';
 import { createKeydownKeyboardEvent } from '../../../../test-utils/src/lib/keyboard';
@@ -49,17 +49,20 @@ describe('BescheidWizardContainerComponent', () => {
   let component: BescheidWizardContainerComponent;
   let fixture: ComponentFixture<BescheidWizardContainerComponent>;
 
+  const bescheidWizard: string = getDataTestIdOf('bescheid-wizard');
+  const closeButton: string = getDataTestIdOf('close-bescheid');
+
   let bescheidService: Mock<BescheidService>;
   let ozgcloudDialogService: Mock<OzgcloudDialogService>;
-  let formService: BescheidFormService;
-  let wizardDialogRef: DialogRefMock;
+  let formService: Mock<BescheidFormService>;
+  let wizardDialogRef: DialogRefMock<BescheidWizardDialogResult>;
 
   const vorgangWithEingangResource: VorgangWithEingangResource = createVorgangWithEingangResource();
 
   beforeEach(() => {
     bescheidService = mock(BescheidService);
     ozgcloudDialogService = mock(OzgcloudDialogService);
-    formService = new BescheidFormService(new UntypedFormBuilder(), useFromMock(bescheidService));
+    formService = mock(BescheidFormService);
     wizardDialogRef = createDialogRefMock();
   });
 
@@ -101,7 +104,6 @@ describe('BescheidWizardContainerComponent', () => {
           useValue: wizardDialogRef,
         },
       ],
-      imports: [ReactiveFormsModule],
     }).compileComponents();
 
     fixture = TestBed.createComponent(BescheidWizardContainerComponent);
@@ -402,7 +404,7 @@ describe('BescheidWizardContainerComponent', () => {
       it('should close wizard', () => {
         component.handleCancelDialogClosed({ closeWizard: true });
 
-        expect(wizardDialogRef.close).toHaveBeenCalled();
+        expect(wizardDialogRef.close).toHaveBeenCalledWith({ reloadVorgang: true });
       });
 
       it('should NOT close wizard', () => {
@@ -512,7 +514,7 @@ describe('BescheidWizardContainerComponent', () => {
           triggerEvent({
             fixture,
             name: 'weiterClickEmitter',
-            elementSelector: 'alfa-bescheid-wizard',
+            elementSelector: bescheidWizard,
           });
 
           expect(component.onWeiter).toHaveBeenCalled();
@@ -524,7 +526,7 @@ describe('BescheidWizardContainerComponent', () => {
           triggerEvent({
             fixture,
             name: 'vorgangAbgeschlossen',
-            elementSelector: 'alfa-bescheid-wizard',
+            elementSelector: bescheidWizard,
           });
 
           expect(component.onVorgangAbgeschlossen).toHaveBeenCalled();
@@ -534,7 +536,7 @@ describe('BescheidWizardContainerComponent', () => {
 
     describe('ods-button close', () => {
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'ods-button');
+        existsAsHtmlElement(fixture, closeButton);
       });
 
       describe('output', () => {
@@ -544,7 +546,7 @@ describe('BescheidWizardContainerComponent', () => {
           triggerEvent({
             fixture,
             name: 'clickEmitter',
-            elementSelector: 'ods-button',
+            elementSelector: closeButton,
           });
 
           expect(component.cancelWizard).toHaveBeenCalled();
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.ts
index 8734007ff864eb36553b94228166716a54b8be83..e9ed187540a5921430c404a9a7a3d3020e0e70bd 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard-container.component.ts
@@ -1,4 +1,4 @@
-import { BescheidResource, BescheidService, BescheidWizardStep } from '@alfa-client/bescheid-shared';
+import { BescheidResource, BescheidService, BescheidWizardDialogResult, BescheidWizardStep } from '@alfa-client/bescheid-shared';
 import { CommandOrder, CommandResource, isSuccessfulDone } from '@alfa-client/command-shared';
 import {
   StateResource,
@@ -42,7 +42,7 @@ export class BescheidWizardContainerComponent implements OnInit, OnDestroy {
 
   constructor(
     @Inject(DIALOG_DATA) private readonly dialogData: BescheidWizardDialogData,
-    private readonly dialogRef: DialogRef,
+    private readonly dialogRef: DialogRef<BescheidWizardDialogResult>,
     readonly viewContainerRef: ViewContainerRef,
     public readonly formService: BescheidFormService,
     readonly bescheidService: BescheidService,
@@ -128,7 +128,7 @@ export class BescheidWizardContainerComponent implements OnInit, OnDestroy {
   handleCancelDialogClosed(closeResult: CancelWizardDialogResult): void {
     this.cancelDialogRef = null;
     if (isNotNil(closeResult) && closeResult.closeWizard) {
-      this.dialogRef.close();
+      this.dialogRef.close({ reloadVorgang: true });
     }
   }
 
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-button/bescheid-wizard-abschliessen-button.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-button/bescheid-wizard-abschliessen-button.component.spec.ts
index a38ae425123ad8b4ff8db2d830649da4a8aa974b..3e627c499b0e4c4718fa60bdae4d29fe0641ec48 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-button/bescheid-wizard-abschliessen-button.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-button/bescheid-wizard-abschliessen-button.component.spec.ts
@@ -13,6 +13,7 @@ import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { of } from 'rxjs';
 import { createSuccessfullyDoneCommandStateResource } from '../../../../../../command-shared/test/command';
+import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import {
   createDialogResult,
   OzgcloudDialogCommandResult,
@@ -28,6 +29,8 @@ describe('BescheidWizardAbschliessenButtonComponent', () => {
   let component: BescheidWizardAbschliessenButtonComponent;
   let fixture: ComponentFixture<BescheidWizardAbschliessenButtonComponent>;
 
+  const abschliessenButton: string = getDataTestIdOf('bescheid-ueberspringen');
+
   let ozgcloudDialogService: Mock<OzgcloudDialogService>;
 
   beforeEach(() => {
@@ -111,14 +114,14 @@ describe('BescheidWizardAbschliessenButtonComponent', () => {
 
   describe('template', () => {
     it('should have button', () => {
-      existsAsHtmlElement(fixture, 'button');
+      existsAsHtmlElement(fixture, abschliessenButton);
     });
 
     describe('output', () => {
       it('should call onClick', () => {
         component.onClick = jest.fn();
 
-        triggerEvent({ fixture, name: 'click', elementSelector: 'button' });
+        triggerEvent({ fixture, name: 'click', elementSelector: abschliessenButton });
 
         expect(component.onClick).toHaveBeenCalled();
       });
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.html
index 0dd3496eee145fdd1452c5a54a807b48e961c252..2bdd79f315eb2a6473cd8212ecc895638d9544d4 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.html
@@ -1,10 +1,8 @@
-<div
-  class="relative m-6 max-w-2xl rounded-lg bg-modalBg p-6 shadow-xl"
-  data-test-id="bescheid-ueberspringen-dialog"
->
+<div class="relative m-6 max-w-2xl rounded-lg bg-modalBg p-6 shadow-xl" data-test-id="bescheid-ueberspringen-dialog">
   <button
     class="absolute right-4 top-4 flex size-12 items-center justify-center rounded-full hover:bg-background-100"
     (click)="onClose()"
+    data-test-id="close-bescheid-button"
   >
     <mat-icon>close</mat-icon>
   </button>
@@ -15,8 +13,7 @@
     </div>
     <div class="grow">
       <p class="text-base">
-        Soll die Bescheiderstellung übersprungen und der Vorgang direkt in den Status Abgeschlossen
-        gesetzt werden?
+        Soll die Bescheiderstellung übersprungen und der Vorgang direkt in den Status Abgeschlossen gesetzt werden?
       </p>
     </div>
     <div class="flex gap-4">
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.spec.ts
index 082f9894a20e225e008d99cb4982ae248f591f10..fa2987b0468830953c4d0a7d86c9d66f3e57e27e 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/abschliessen-dialog-container/bescheid-wizard-abschliessen-dialog-container.component.spec.ts
@@ -30,6 +30,7 @@ describe('BescheidWizardAbschliessenDialogContainerComponent', () => {
   let component: BescheidWizardAbschliessenDialogContainerComponent;
   let fixture: ComponentFixture<BescheidWizardAbschliessenDialogContainerComponent>;
 
+  const closeBescheidButton: string = getDataTestIdOf('close-bescheid-button');
   const confirmButtonDataTestId: string = getDataTestIdOf('ueberspringen-abschliessen-button');
   const cancelButtonDataTestId: string = getDataTestIdOf('ueberspringen-abbrechen-button');
   const vorgangWithEingangResource: VorgangWithEingangResource = createVorgangWithEingangResource();
@@ -121,7 +122,7 @@ describe('BescheidWizardAbschliessenDialogContainerComponent', () => {
         it('should call onClose', () => {
           component.onClose = jest.fn();
 
-          triggerEvent({ fixture, name: 'click', elementSelector: 'button' });
+          triggerEvent({ fixture, name: 'click', elementSelector: closeBescheidButton });
 
           expect(component.onClose).toHaveBeenCalled();
         });
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.html
index 94a275530b6bc352f0ce3e82bbd4610b5c3049d5..3e3e0d9f2ddf27f8d7dec24face746611c03064f 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.html
@@ -1,19 +1,26 @@
 <div class="mt-2 grid h-full grid-cols-[min-content_1fr_1fr] gap-7">
-  <alfa-bescheid-wizard-stepper [activeStep]="bescheidWizardStep.AntragBescheiden"></alfa-bescheid-wizard-stepper>
+  <alfa-bescheid-wizard-stepper
+    [activeStep]="bescheidWizardStep.AntragBescheiden"
+    data-test-id="wizard-stepper"
+  ></alfa-bescheid-wizard-stepper>
   <div>
-    <alfa-bescheid-wizard-step-title label="Antrag bescheiden"></alfa-bescheid-wizard-step-title>
+    <alfa-bescheid-wizard-step-title label="Antrag bescheiden" data-test-id="wizard-step-title"></alfa-bescheid-wizard-step-title>
     <alfa-bescheid-wizard-antrag-bescheiden-form
       [vorgangWithEingangResource]="vorgangWithEingangResource"
       [bescheidResource]="bescheidResource"
       [submitStateResource]="submitStateResource"
       (weiterClickEmitter)="weiterClickEmitter.emit(bescheidWizardStep.DokumenteHochladen)"
+      data-test-id="antrag-bescheiden-form"
     ></alfa-bescheid-wizard-antrag-bescheiden-form>
     <alfa-bescheid-wizard-abschliessen-button
       [vorgangWithEingangResource]="vorgangWithEingangResource"
       (vorgangAbgeschlossen)="vorgangAbgeschlossen.emit()"
+      data-test-id="wizard-abschliessen-button"
     ></alfa-bescheid-wizard-abschliessen-button>
   </div>
-  <alfa-bescheid-wizard-summary>
-    <alfa-bescheid-wizard-antrag-bescheiden-summary></alfa-bescheid-wizard-antrag-bescheiden-summary>
+  <alfa-bescheid-wizard-summary data-test-id="wizard-summary">
+    <alfa-bescheid-wizard-antrag-bescheiden-summary
+      data-test-id="antrag-bescheiden-summary"
+    ></alfa-bescheid-wizard-antrag-bescheiden-summary>
   </alfa-bescheid-wizard-summary>
 </div>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.spec.ts
index fa83910d91c30bbeb0b0dacd509d8d51fcc7f187..76204aa7e07e108f2b6221be33170b8a754b7c5c 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.spec.ts
@@ -5,6 +5,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MockComponent } from 'ng-mocks';
 import { createBescheidResource } from '../../../../../../bescheid-shared/src/test/bescheid';
 import { createCommandStateResource } from '../../../../../../command-shared/test/command';
+import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from '../../../../../../vorgang-shared/test/vorgang';
 import { BescheidWizardAbschliessenButtonComponent } from '../abschliessen-button/bescheid-wizard-abschliessen-button.component';
 import { BescheidWizardStepTitleComponent } from '../step-title/bescheid-wizard-step-title.component';
@@ -18,6 +19,13 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
   let component: BescheidWizardAntragBescheidenComponent;
   let fixture: ComponentFixture<BescheidWizardAntragBescheidenComponent>;
 
+  const wizardStepper: string = getDataTestIdOf('wizard-stepper');
+  const wizardStepTitle: string = getDataTestIdOf('wizard-step-title');
+  const antragBescheidenForm: string = getDataTestIdOf('antrag-bescheiden-form');
+  const abschliessenButton: string = getDataTestIdOf('wizard-abschliessen-button');
+  const wizardSummary: string = getDataTestIdOf('wizard-summary');
+  const antragBescheidenSummary: string = getDataTestIdOf('antrag-bescheiden-summary');
+
   let bescheidService: Mock<BescheidService>;
 
   beforeEach(() => {
@@ -63,7 +71,7 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
       it('should exists', () => {
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-stepper');
+        existsAsHtmlElement(fixture, wizardStepper);
       });
 
       describe('input', () => {
@@ -77,19 +85,19 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
 
     describe('alfa-bescheid-wizard-step-title', () => {
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-step-title');
+        existsAsHtmlElement(fixture, wizardStepTitle);
       });
     });
 
     describe('alfa-bescheid-wizard-summary', () => {
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-summary');
+        existsAsHtmlElement(fixture, wizardSummary);
       });
     });
 
     describe('alfa-bescheid-wizard-antrag-bescheiden-summary', () => {
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-antrag-bescheiden-summary');
+        existsAsHtmlElement(fixture, antragBescheidenSummary);
       });
     });
 
@@ -99,7 +107,7 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
       }
 
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-abschliessen-button');
+        existsAsHtmlElement(fixture, abschliessenButton);
       });
 
       describe('input', () => {
@@ -117,7 +125,7 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
           triggerEvent({
             fixture,
             name: 'vorgangAbgeschlossen',
-            elementSelector: 'alfa-bescheid-wizard-abschliessen-button',
+            elementSelector: abschliessenButton,
           });
 
           expect(component.vorgangAbgeschlossen.emit).toHaveBeenCalled();
@@ -131,7 +139,7 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
       }
 
       it('should show', () => {
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-antrag-bescheiden-form');
+        existsAsHtmlElement(fixture, antragBescheidenForm);
       });
 
       describe('input', () => {
@@ -165,7 +173,7 @@ describe('BescheidWizardAntragBescheidenComponent', () => {
           triggerEvent({
             fixture,
             name: 'weiterClickEmitter',
-            elementSelector: 'alfa-bescheid-wizard-antrag-bescheiden-form',
+            elementSelector: antragBescheidenForm,
           });
 
           expect(component.weiterClickEmitter.emit).toHaveBeenCalledWith(BescheidWizardStep.DokumenteHochladen);
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.ts
index 12e9c6a59a36df916b1272ed45e1cc2c0f52178a..ad21a4d0358b3a81919618ad43a2765328c425d1 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component.ts
@@ -16,5 +16,5 @@ export class BescheidWizardAntragBescheidenComponent {
   @Output() weiterClickEmitter: EventEmitter<BescheidWizardStep> = new EventEmitter<BescheidWizardStep>();
   @Output() vorgangAbgeschlossen: EventEmitter<void> = new EventEmitter<void>();
 
-  readonly bescheidWizardStep = BescheidWizardStep;
+  public readonly bescheidWizardStep = BescheidWizardStep;
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
index 7d49a208d636296eb11814d094275af4c3770799..1dc1beea0753e8e1ccdd0eff9e7a2c20438c301e 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.html
@@ -34,4 +34,5 @@
   "
   [submitStateResource]="submitStateResource"
   (clickEmitter)="weiterClickEmitter.emit()"
+  data-test-id="weiter-button"
 ></alfa-bescheid-wizard-weiter-button>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
index a537cbc66297d47ec96034d7c00a6615be9f1469..d81a9ee233fd8ce80910fe10ffb2b625dc3f09c4 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.spec.ts
@@ -9,6 +9,7 @@ import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
 import { CloseIconComponent, RadioButtonCardComponent, StampIconComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { createBescheidResource } from '../../../../../../../bescheid-shared/src/test/bescheid';
+import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from '../../../../../../../vorgang-shared/test/vorgang';
 import { BescheidFormService } from '../../../bescheid.formservice';
 import { BescheidWizardWeiterButtonComponent } from '../../weiter-button/bescheid-wizard-weiter-button.component';
@@ -18,6 +19,8 @@ describe('BescheidWizardAntragBescheidenFormComponent', () => {
   let component: BescheidWizardAntragBescheidenFormComponent;
   let fixture: ComponentFixture<BescheidWizardAntragBescheidenFormComponent>;
 
+  const weiterButton: string = getDataTestIdOf('weiter-button');
+
   let formService: BescheidFormService;
 
   beforeEach(async () => {
@@ -59,7 +62,7 @@ describe('BescheidWizardAntragBescheidenFormComponent', () => {
 
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-weiter-button');
+        existsAsHtmlElement(fixture, weiterButton);
       });
 
       it('should exists if create link exists', () => {
@@ -69,7 +72,7 @@ describe('BescheidWizardAntragBescheidenFormComponent', () => {
 
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-weiter-button');
+        existsAsHtmlElement(fixture, weiterButton);
       });
 
       it('should not exists if update and create links missing', () => {
@@ -78,20 +81,27 @@ describe('BescheidWizardAntragBescheidenFormComponent', () => {
 
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, 'alfa-bescheid-wizard-weiter-button');
+        notExistsAsHtmlElement(fixture, weiterButton);
+      });
+
+      it('should not exists if update link missing', () => {
+        component.bescheidResource = createBescheidResource();
+
+        fixture.detectChanges();
+
+        notExistsAsHtmlElement(fixture, weiterButton);
       });
 
       describe('output', () => {
         it('should emit weiterClickEmitter', () => {
-          component.vorgangWithEingangResource = createVorgangWithEingangResource([
-            VorgangWithEingangLinkRel.CREATE_BESCHEID_DRAFT,
-          ]);
+          component.bescheidResource = createBescheidResource([BescheidLinkRel.UPDATE]);
+
           fixture.detectChanges();
 
           triggerEvent({
             fixture,
             name: 'clickEmitter',
-            elementSelector: 'alfa-bescheid-wizard-weiter-button',
+            elementSelector: weiterButton,
           });
 
           expect(component.weiterClickEmitter.emit).toHaveBeenCalled();
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.ts
index 3b39d704b314a8c8ca73a5e6f21d8e8c5499796e..b4b99c96e31bbb2702c7c0982de44ed7abc7bdbb 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/form/bescheid-wizard-antrag-bescheiden-form.component.ts
@@ -16,10 +16,9 @@ export class BescheidWizardAntragBescheidenFormComponent {
 
   @Output() weiterClickEmitter = new EventEmitter<void>();
 
-  vorgangWithEingangLinkRel = VorgangWithEingangLinkRel;
-  bescheidLinkRel = BescheidLinkRel;
+  public readonly vorgangWithEingangLinkRel = VorgangWithEingangLinkRel;
+  public readonly bescheidLinkRel = BescheidLinkRel;
+  public readonly formServiceClass = BescheidFormService;
 
   constructor(public readonly formService: BescheidFormService) {}
-
-  protected readonly formServiceClass = BescheidFormService;
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.html
index 6a1b2e03c26e4bd404cb436c10dca4618e2b3bb9..995ee6afa5bd8ee9fdb5f5309264dc6ca853c769 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.html
@@ -3,4 +3,5 @@
   [bewilligt]="bescheid.bewilligt"
   [dateText]="bescheid.beschiedenAm | date: 'dd.MM.yyyy'"
   [hasBescheidDraft]="false"
+  data-test-id="bescheid-status-text"
 ></ods-bescheid-status-text>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.spec.ts
index 01423f71e2bdb346292cb09b9b931553c5a7a6ac..588b4227c7a9ab76f83f438390a3b4ff717cd4e2 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component.spec.ts
@@ -1,17 +1,11 @@
 import { Bescheid } from '@alfa-client/bescheid-shared';
-import {
-  existsAsHtmlElement,
-  getElementFromFixture,
-  getElementFromFixtureByType,
-  Mock,
-  mock,
-  notExistsAsHtmlElement,
-} from '@alfa-client/test-utils';
+import { existsAsHtmlElement, getElementFromFixtureByType, Mock, mock, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { BescheidStatusTextComponent } from '@ods/system';
 import { MockComponent } from 'ng-mocks';
 import { EMPTY, of } from 'rxjs';
 import { createBescheid } from '../../../../../../../bescheid-shared/src/test/bescheid';
+import { getDataTestIdOf } from '../../../../../../../tech-shared/test/data-test';
 import { BescheidFormService } from '../../../bescheid.formservice';
 import { BescheidWizardAntragBescheidenSummaryComponent } from './bescheid-wizard-antrag-bescheiden-summary.component';
 
@@ -19,6 +13,8 @@ describe('BescheidWizardAntragBescheidenSummaryComponent', () => {
   let component: BescheidWizardAntragBescheidenSummaryComponent;
   let fixture: ComponentFixture<BescheidWizardAntragBescheidenSummaryComponent>;
 
+  const bescheidStatusText: string = getDataTestIdOf('bescheid-status-text');
+
   let formService: Mock<BescheidFormService>;
 
   beforeEach(() => {
@@ -42,10 +38,6 @@ describe('BescheidWizardAntragBescheidenSummaryComponent', () => {
 
   describe('template', () => {
     describe('ods-bescheid-status-text', () => {
-      function getElement(): any {
-        return getElementFromFixture(fixture, 'ods-bescheid-status-text');
-      }
-
       function getElementComponent(): BescheidStatusTextComponent {
         return getElementFromFixtureByType(fixture, BescheidStatusTextComponent);
       }
@@ -61,7 +53,7 @@ describe('BescheidWizardAntragBescheidenSummaryComponent', () => {
 
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, 'ods-bescheid-status-text');
+        notExistsAsHtmlElement(fixture, bescheidStatusText);
       });
 
       it('should show', () => {
@@ -69,7 +61,7 @@ describe('BescheidWizardAntragBescheidenSummaryComponent', () => {
 
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'ods-bescheid-status-text');
+        existsAsHtmlElement(fixture, bescheidStatusText);
       });
 
       describe('input', () => {
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.html
index afe8c9e1adf0ea1d17f21d1fd74748acca11d0e5..5f1b875910deb42d189e8077528fb9a6329826a7 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.html
@@ -2,16 +2,23 @@
   *ngIf="(vorgangWithEingangResource | hasLink: vorgangWithEingangLinkRel.BESCHEID_DRAFT) && !bescheidStateResource.resource"
   [stateResource]="bescheidStateResource"
   class="absolute flex size-full items-center justify-center"
+  data-test-id="bescheid-loading-spinner"
 ></ozgcloud-spinner>
 
-<div class="grid h-full">
-  <alfa-bescheid-wizard-antrag-bescheiden
-    *ngIf="activeStep === 1"
-    [vorgangWithEingangResource]="vorgangWithEingangResource"
-    [bescheidResource]="bescheidStateResource.resource"
-    [submitStateResource]="submitStateResource"
-    (weiterClickEmitter)="weiterClickEmitter.emit($event)"
-    (vorgangAbgeschlossen)="vorgangAbgeschlossen.emit()"
-  ></alfa-bescheid-wizard-antrag-bescheiden>
-  <alfa-bescheid-wizard-dokumente-hochladen *ngIf="activeStep === 2"></alfa-bescheid-wizard-dokumente-hochladen>
-</div>
+<form [formGroup]="formService.form" class="h-full">
+  <div class="grid h-full">
+    <alfa-bescheid-wizard-antrag-bescheiden
+      *ngIf="activeStep === bescheidWizardStep.AntragBescheiden"
+      [vorgangWithEingangResource]="vorgangWithEingangResource"
+      [bescheidResource]="bescheidStateResource.resource"
+      [submitStateResource]="submitStateResource"
+      (weiterClickEmitter)="weiterClickEmitter.emit($event)"
+      (vorgangAbgeschlossen)="vorgangAbgeschlossen.emit()"
+      data-test-id="antrag-bescheiden-step"
+    ></alfa-bescheid-wizard-antrag-bescheiden>
+    <alfa-bescheid-wizard-dokumente-hochladen
+      *ngIf="activeStep === bescheidWizardStep.DokumenteHochladen"
+      data-test-id="dokumente-hochladen-step"
+    ></alfa-bescheid-wizard-dokumente-hochladen>
+  </div>
+</form>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.spec.ts
index 0c5c631bf70e3ea6e85a39945837f06166895a56..7e66bad67b2d553ba8f221bd69e480b1ae3b79de 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.spec.ts
@@ -1,4 +1,4 @@
-import { BescheidResource, BescheidWizardStep } from '@alfa-client/bescheid-shared';
+import { BescheidResource, BescheidService, BescheidWizardStep } from '@alfa-client/bescheid-shared';
 import { HasLinkPipe, StateResource, createEmptyStateResource } from '@alfa-client/tech-shared';
 import {
   Mock,
@@ -13,9 +13,11 @@ import { SpinnerComponent } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
 import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ReactiveFormsModule, UntypedFormBuilder } from '@angular/forms';
 import { MockComponent } from 'ng-mocks';
 import { createBescheidStateResource } from '../../../../../bescheid-shared/src/test/bescheid';
 import { createSuccessfullyDoneCommandStateResource } from '../../../../../command-shared/test/command';
+import { getDataTestIdOf } from '../../../../../tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from '../../../../../vorgang-shared/test/vorgang';
 import { BescheidFormService } from '../bescheid.formservice';
 import { BescheidWizardAntragBescheidenComponent } from './antrag-bescheiden/bescheid-wizard-antrag-bescheiden.component';
@@ -27,10 +29,16 @@ describe('BescheidWizardComponent', () => {
   let component: BescheidWizardComponent;
   let fixture: ComponentFixture<BescheidWizardComponent>;
 
-  let formService: Mock<BescheidFormService>;
+  const bescheidLoadingSpinner: string = getDataTestIdOf('bescheid-loading-spinner');
+  const antragBescheidenStep: string = getDataTestIdOf('antrag-bescheiden-step');
+  const dokumenteHochladenStep: string = getDataTestIdOf('dokumente-hochladen-step');
+
+  let bescheidService: Mock<BescheidService>;
+  let formService: BescheidFormService;
 
   beforeEach(() => {
-    formService = mock(BescheidFormService);
+    bescheidService = mock(BescheidService);
+    formService = new BescheidFormService(new UntypedFormBuilder(), useFromMock(bescheidService));
   });
 
   beforeEach(async () => {
@@ -49,6 +57,7 @@ describe('BescheidWizardComponent', () => {
           useValue: formService,
         },
       ],
+      imports: [ReactiveFormsModule],
     }).compileComponents();
 
     fixture = TestBed.createComponent(BescheidWizardComponent);
@@ -65,12 +74,16 @@ describe('BescheidWizardComponent', () => {
   describe('component', () => {
     describe('set bescheidDraftStateResource', () => {
       it('should patch form values', () => {
+        formService.patchValues = jest.fn();
+
         component.bescheidStateResource = createBescheidStateResource();
 
         expect(formService.patchValues).toHaveBeenCalledWith(component.bescheidStateResource.resource);
       });
 
       it('should NOT patch form values', () => {
+        formService.patchValues = jest.fn();
+
         component.bescheidStateResource = createEmptyStateResource();
 
         expect(formService.patchValues).not.toHaveBeenCalled();
@@ -96,7 +109,7 @@ describe('BescheidWizardComponent', () => {
 
         fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'ozgcloud-spinner');
+        existsAsHtmlElement(fixture, bescheidLoadingSpinner);
       });
 
       it('should NOT exists if bescheid does not exists', () => {
@@ -105,7 +118,7 @@ describe('BescheidWizardComponent', () => {
 
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, 'ozgcloud-spinner');
+        notExistsAsHtmlElement(fixture, bescheidLoadingSpinner);
       });
 
       it('should NOT exists if bescheid initially loaded', () => {
@@ -114,7 +127,7 @@ describe('BescheidWizardComponent', () => {
 
         fixture.detectChanges();
 
-        notExistsAsHtmlElement(fixture, 'ozgcloud-spinner');
+        notExistsAsHtmlElement(fixture, bescheidLoadingSpinner);
       });
 
       describe('input', () => {
@@ -138,14 +151,14 @@ describe('BescheidWizardComponent', () => {
         givenActiveStep(1);
         givenLoadedBescheidStateResrouce();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-antrag-bescheiden');
+        existsAsHtmlElement(fixture, antragBescheidenStep);
       });
 
       it.each([2, 3])('should NOT show in step %d', (step: number) => {
         givenActiveStep(step);
         givenLoadedBescheidStateResrouce();
 
-        notExistsAsHtmlElement(fixture, 'alfa-bescheid-wizard-antrag-bescheiden');
+        notExistsAsHtmlElement(fixture, antragBescheidenStep);
       });
 
       describe('input', () => {
@@ -189,7 +202,7 @@ describe('BescheidWizardComponent', () => {
           triggerEvent({
             fixture,
             name: 'weiterClickEmitter',
-            elementSelector: 'alfa-bescheid-wizard-antrag-bescheiden',
+            elementSelector: antragBescheidenStep,
             data: BescheidWizardStep.DokumenteHochladen,
           });
 
@@ -200,7 +213,7 @@ describe('BescheidWizardComponent', () => {
           triggerEvent({
             fixture,
             name: 'vorgangAbgeschlossen',
-            elementSelector: 'alfa-bescheid-wizard-antrag-bescheiden',
+            elementSelector: antragBescheidenStep,
           });
 
           expect(component.vorgangAbgeschlossen.emit).toHaveBeenCalled();
@@ -213,14 +226,14 @@ describe('BescheidWizardComponent', () => {
         givenActiveStep(2);
         givenLoadedBescheidStateResrouce();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-dokumente-hochladen');
+        existsAsHtmlElement(fixture, dokumenteHochladenStep);
       });
 
       it.each([1, 3])('should NOT show in step %d', (step: number) => {
         givenActiveStep(step);
         givenLoadedBescheidStateResrouce();
 
-        notExistsAsHtmlElement(fixture, 'alfa-bescheid-wizard-dokumente-hochladen');
+        notExistsAsHtmlElement(fixture, dokumenteHochladenStep);
       });
     });
   });
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.ts
index 8526b61a37402632a03a2f22c8d1f6961e8b6c71..6b8a55df5b58c279ccb5c8c7523b71e27f14777d 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/bescheid-wizard.component.ts
@@ -31,7 +31,8 @@ export class BescheidWizardComponent {
 
   private _bescheidStateResource: StateResource<BescheidResource>;
 
-  readonly vorgangWithEingangLinkRel = VorgangWithEingangLinkRel;
+  public readonly vorgangWithEingangLinkRel = VorgangWithEingangLinkRel;
+  public readonly bescheidWizardStep = BescheidWizardStep;
 
   constructor(public readonly formService: BescheidFormService) {}
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
index 07afcdad9ff42b4a9a6ea0518d35dbbe69d86adc..5820bae72819d64589ca81e13f35defbfa96463a 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.spec.ts
@@ -27,7 +27,6 @@ import { BescheidFormService } from '../../bescheid.formservice';
 import {
   BescheidWizardCancelDialogContainerComponent,
   CancelWizardDialogData,
-  CancelWizardDialogResult,
 } from './bescheid-wizard-cancel-dialog-container.component';
 
 describe('BescheidWizardCancelDialogContainerComponent', () => {
@@ -126,20 +125,20 @@ describe('BescheidWizardCancelDialogContainerComponent', () => {
     });
 
     describe('handleSuccessfullySavedBescheid', () => {
-      it('should close dialog', () => {
-        component.handleSuccessfullySavedBescheid();
-
-        expect(dialogRef.close).toHaveBeenCalledWith({ closeWizard: true } as CancelWizardDialogResult);
-      });
+      it('should close dialog with wizard', () => {
+        component.closeDialogWithWizard = jest.fn();
 
-      it('should reload current vorgang', () => {
         component.handleSuccessfullySavedBescheid();
 
-        expect(bescheidService.reloadCurrentVorgang).toHaveBeenCalled();
+        expect(component.closeDialogWithWizard).toHaveBeenCalled();
       });
     });
 
     describe('cancel', () => {
+      beforeEach(() => {
+        component.closeDialogWithWizard = jest.fn();
+      });
+
       it('should delete bescheid', () => {
         component.cancel();
 
@@ -170,7 +169,7 @@ describe('BescheidWizardCancelDialogContainerComponent', () => {
         component.cancel();
         component.deleteStateResource$.subscribe();
 
-        expect(dialogRef.close).toHaveBeenCalledWith({ closeWizard: true } as CancelWizardDialogResult);
+        expect(component.closeDialogWithWizard).toHaveBeenCalled();
       });
 
       it('should NOT close dialog on error', () => {
@@ -180,7 +179,7 @@ describe('BescheidWizardCancelDialogContainerComponent', () => {
         component.cancel();
         component.deleteStateResource$.subscribe();
 
-        expect(dialogRef.close).not.toHaveBeenCalled();
+        expect(component.closeDialogWithWizard).not.toHaveBeenCalled();
       });
 
       it('should close dialog with cancel result on non existing bescheid', () => {
@@ -188,7 +187,15 @@ describe('BescheidWizardCancelDialogContainerComponent', () => {
 
         component.cancel();
 
-        expect(dialogRef.close).toHaveBeenCalledWith({ closeWizard: true } as CancelWizardDialogResult);
+        expect(component.closeDialogWithWizard).toHaveBeenCalled();
+      });
+    });
+
+    describe('closeDialogWithWizard', () => {
+      it('should close', () => {
+        component.closeDialogWithWizard();
+
+        expect(dialogRef.close).toHaveBeenCalledWith({ closeWizard: true });
       });
     });
   });
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.ts
index 2d4fd12245269671d447922c191ae587acbfb792..06323b207b2c2f7da254a67601cb2fa15a8df3ce 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/cancel-dialog-container/bescheid-wizard-cancel-dialog-container.component.ts
@@ -39,19 +39,21 @@ export class BescheidWizardCancelDialogContainerComponent {
       .pipe(tapOnCommandSuccessfullyDone(() => this.handleSuccessfullySavedBescheid()));
   }
 
-  handleSuccessfullySavedBescheid() {
-    this.bescheidService.reloadCurrentVorgang();
-    this.dialogRef.close({ closeWizard: true });
+  handleSuccessfullySavedBescheid(): void {
+    this.closeDialogWithWizard();
   }
 
   public cancel(): void {
     if (isNotNil(this.bescheidResource)) {
       this.deleteStateResource$ = this.bescheidService
-        // TODO: pass bescheid resource as parameter after bescheid service refactoring
-        .bescheidVerwerfen(/* this.bescheidResource */)
-        .pipe(tapOnCommandSuccessfullyDone(() => this.dialogRef.close({ closeWizard: true })));
+        .bescheidVerwerfen()
+        .pipe(tapOnCommandSuccessfullyDone(() => this.closeDialogWithWizard()));
     } else {
-      this.dialogRef.close({ closeWizard: true });
+      this.closeDialogWithWizard();
     }
   }
+
+  closeDialogWithWizard(): void {
+    this.dialogRef.close({ closeWizard: true });
+  }
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.spec.ts
index 2fc34c7e0a2fdd44275a066dc95ae52a4d737168..0ccc4edf5232f58f2f191cecc7d15076e08c13fe 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.spec.ts
@@ -1,5 +1,5 @@
 import { BescheidWizardStep } from '@alfa-client/bescheid-shared';
-import { existsAsHtmlElement, getElementFromFixtureByType } from '@alfa-client/test-utils';
+import { getElementFromFixtureByType } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MockComponent } from 'ng-mocks';
 import { BescheidWizardAntragBescheidenSummaryComponent } from '../antrag-bescheiden/summary/bescheid-wizard-antrag-bescheiden-summary.component';
@@ -42,17 +42,25 @@ describe('BescheidWizardDokumenteHochladenComponent', () => {
         return getElementFromFixtureByType(fixture, BescheidWizardStepperComponent);
       }
 
-      it('should exists', () => {
-        fixture.detectChanges();
+      describe('input', () => {
+        it('should set activeStep', () => {
+          fixture.detectChanges();
 
-        existsAsHtmlElement(fixture, 'alfa-bescheid-wizard-stepper');
+          expect(getElementComponent().activeStep).toBe(BescheidWizardStep.DokumenteHochladen);
+        });
       });
+    });
+
+    describe('alfa-bescheid-wizard-step-title', () => {
+      function getElementComponent(): BescheidWizardStepTitleComponent {
+        return getElementFromFixtureByType(fixture, BescheidWizardStepTitleComponent);
+      }
 
       describe('input', () => {
-        it('should set activeStep', () => {
+        it('should set inactiveStep', () => {
           fixture.detectChanges();
 
-          expect(getElementComponent().activeStep).toBe(BescheidWizardStep.DokumenteHochladen);
+          expect(getElementComponent().inactiveStep).toBeTruthy();
         });
       });
     });
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.ts
index a8d750105330da8e4b83b29554e69c7795bbc47f..3692f49cd9aa9268a6766928f34abb01b40d007b 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/dokumente-hochladen/bescheid-wizard-dokumente-hochladen.component.ts
@@ -6,5 +6,5 @@ import { Component } from '@angular/core';
   templateUrl: './bescheid-wizard-dokumente-hochladen.component.html',
 })
 export class BescheidWizardDokumenteHochladenComponent {
-  readonly bescheidWizardStep = BescheidWizardStep;
+  public readonly bescheidWizardStep = BescheidWizardStep;
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/step-title/bescheid-wizard-step-title.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/step-title/bescheid-wizard-step-title.component.ts
index 53d6aa5cb520901dfdb3089070c57f1ae107f6d0..b2df6947c1cd9ce898d9f9400f967c403291f149 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/step-title/bescheid-wizard-step-title.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/step-title/bescheid-wizard-step-title.component.ts
@@ -5,6 +5,6 @@ import { Component, Input } from '@angular/core';
   templateUrl: './bescheid-wizard-step-title.component.html',
 })
 export class BescheidWizardStepTitleComponent {
-  @Input() public label: string;
-  @Input() public inactiveStep: boolean = false;
+  @Input() label: string;
+  @Input() inactiveStep: boolean = false;
 }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.html
index e826278719a457c7b7819b6b4ff8a6767cc1bfee..cfdb969637c673c10e0697ceff8500be625d6c6f 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.html
@@ -4,5 +4,6 @@
     [activeStep]="activeStep"
     [step]="step"
     (stepChange)="stepChange.emit($event)"
+    [attr.data-test-id]="'wizard-step-' + step"
   ></alfa-bescheid-wizard-step>
 </div>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.spec.ts
index b2c3dd63557dca529950df871c2b1d9cf32a8043..a964c6ed04e417cd6ab487ce18baa9447391b96e 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.spec.ts
@@ -1,7 +1,8 @@
 import { BescheidWizardStep } from '@alfa-client/bescheid-shared';
-import { getElementsFromFixture, getElementsFromFixtureByType, triggerEvent } from '@alfa-client/test-utils';
+import { getElementComponentFromFixtureByCss, triggerEvent } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { MockComponent } from 'ng-mocks';
+import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import { BescheidWizardStepperComponent } from './bescheid-wizard-stepper.component';
 import { BescheidWizardStepComponent } from './step/bescheid-wizard-step.component';
 
@@ -9,6 +10,10 @@ describe('BescheidWizardStepperComponent', () => {
   let component: BescheidWizardStepperComponent;
   let fixture: ComponentFixture<BescheidWizardStepperComponent>;
 
+  const antragBescheidenWizardStep: string = getDataTestIdOf('wizard-step-' + BescheidWizardStep.AntragBescheiden);
+  const dokumenteHochladenWizardStep: string = getDataTestIdOf('wizard-step-' + BescheidWizardStep.DokumenteHochladen);
+  const bescheidVersendenWizardStep: string = getDataTestIdOf('wizard-step-' + BescheidWizardStep.BescheidVersenden);
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [BescheidWizardStepperComponent, MockComponent(BescheidWizardStepComponent)],
@@ -33,46 +38,108 @@ describe('BescheidWizardStepperComponent', () => {
 
   describe('template', () => {
     describe('alfa-bescheid-wizard-step', () => {
-      it('should exists for all steps', () => {
-        const steps: HTMLElement[] = getElementsFromFixture(fixture, 'alfa-bescheid-wizard-step');
+      describe('input', () => {
+        it('should set activeStep for antrag bescheiden step', () => {
+          component.activeStep = 2;
 
-        expect(steps.length).toEqual(BescheidWizardStep.BescheidVersenden);
-      });
+          fixture.detectChanges();
 
-      describe('input', () => {
-        it.each([
-          BescheidWizardStep.AntragBescheiden,
-          BescheidWizardStep.DokumenteHochladen,
-          BescheidWizardStep.BescheidVersenden,
-        ])('should set activeStep for step %s', (step: BescheidWizardStep) => {
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            antragBescheidenWizardStep,
+          );
+          expect(step.activeStep).toEqual(component.activeStep);
+        });
+
+        it('should set activeStep for dokumente hochladen step', () => {
           component.activeStep = 2;
 
           fixture.detectChanges();
 
-          const steps: BescheidWizardStepComponent[] = getElementsFromFixtureByType(fixture, BescheidWizardStepComponent);
-          expect(steps[step - 1].activeStep).toEqual(component.activeStep);
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            dokumenteHochladenWizardStep,
+          );
+          expect(step.activeStep).toEqual(component.activeStep);
+        });
+
+        it('should set activeStep for bescheid versenden step', () => {
+          component.activeStep = 2;
+
+          fixture.detectChanges();
+
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            bescheidVersendenWizardStep,
+          );
+          expect(step.activeStep).toEqual(component.activeStep);
+        });
+
+        it('should set step for antrag bescheiden', () => {
+          fixture.detectChanges();
+
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            antragBescheidenWizardStep,
+          );
+          expect(step.step).toEqual(BescheidWizardStep.AntragBescheiden);
+        });
+
+        it('should set step for dokumente hochladen', () => {
+          fixture.detectChanges();
+
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            dokumenteHochladenWizardStep,
+          );
+          expect(step.step).toEqual(BescheidWizardStep.DokumenteHochladen);
         });
 
-        it.each([
-          BescheidWizardStep.AntragBescheiden,
-          BescheidWizardStep.DokumenteHochladen,
-          BescheidWizardStep.BescheidVersenden,
-        ])('should set step for step %s', (step: BescheidWizardStep) => {
+        it('should set step for bescheid versenden', () => {
           fixture.detectChanges();
 
-          const steps: BescheidWizardStepComponent[] = getElementsFromFixtureByType(fixture, BescheidWizardStepComponent);
-          expect(steps[step - 1].step).toEqual(step);
+          const step: BescheidWizardStepComponent = getElementComponentFromFixtureByCss<BescheidWizardStepComponent>(
+            fixture,
+            bescheidVersendenWizardStep,
+          );
+          expect(step.step).toEqual(BescheidWizardStep.BescheidVersenden);
         });
       });
 
       describe('output', () => {
-        it('should emit stepChange', () => {
+        it('should emit stepChange for antrag bescheiden step', () => {
+          component.stepChange.emit = jest.fn();
+
+          triggerEvent({
+            fixture,
+            name: 'stepChange',
+            elementSelector: antragBescheidenWizardStep,
+            data: BescheidWizardStep.DokumenteHochladen,
+          });
+
+          expect(component.stepChange.emit).toHaveBeenCalledWith(BescheidWizardStep.DokumenteHochladen);
+        });
+
+        it('should emit stepChange for dokumente hochladen step', () => {
+          component.stepChange.emit = jest.fn();
+
+          triggerEvent({
+            fixture,
+            name: 'stepChange',
+            elementSelector: dokumenteHochladenWizardStep,
+            data: BescheidWizardStep.DokumenteHochladen,
+          });
+
+          expect(component.stepChange.emit).toHaveBeenCalledWith(BescheidWizardStep.DokumenteHochladen);
+        });
+
+        it('should emit stepChange for bescheid versenden step', () => {
           component.stepChange.emit = jest.fn();
 
           triggerEvent({
             fixture,
             name: 'stepChange',
-            elementSelector: 'alfa-bescheid-wizard-step',
+            elementSelector: bescheidVersendenWizardStep,
             data: BescheidWizardStep.DokumenteHochladen,
           });
 
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.ts
index a8151d4cc4ef8a4a1d7c51cdbf1f8f86b78d358a..bd2343419cc4cbf386721324c58576a5bc4ef214 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/bescheid-wizard-stepper.component.ts
@@ -10,7 +10,7 @@ export class BescheidWizardStepperComponent {
 
   @Output() stepChange: EventEmitter<BescheidWizardStep> = new EventEmitter<BescheidWizardStep>();
 
-  readonly steps: BescheidWizardStep[] = [
+  public readonly steps: BescheidWizardStep[] = [
     BescheidWizardStep.AntragBescheiden,
     BescheidWizardStep.DokumenteHochladen,
     BescheidWizardStep.BescheidVersenden,
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.spec.ts
index 1b4a146e7b3afcbc6ef7232b85d4ac30eef3be39..8d880a7efefe4f8e37c492bf5905d7008ee8ce16 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.spec.ts
@@ -1,6 +1,4 @@
 import { BescheidWizardStep } from '@alfa-client/bescheid-shared';
-import { mock } from '@alfa-client/test-utils';
-import { EventEmitter } from '@angular/core';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { BescheidWizardStepComponent } from './bescheid-wizard-step.component';
 
@@ -106,7 +104,7 @@ describe('BescheidWizardStepComponent', () => {
 
   describe('clickHandler', () => {
     beforeEach(() => {
-      component.stepChange = <any>mock(EventEmitter);
+      component.stepChange.emit = jest.fn();
     });
 
     it('should emit step', () => {
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.ts
index c4dabb88e06033fb3dd3c3fedd8caa0b3800b99c..ddb427d422f3e5f92a71a56445543c6281a4a426 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/stepper/step/bescheid-wizard-step.component.ts
@@ -11,9 +11,9 @@ export class BescheidWizardStepComponent {
 
   @Output() stepChange: EventEmitter<BescheidWizardStep> = new EventEmitter<BescheidWizardStep>();
 
-  readonly bescheidWizardStep = BescheidWizardStep;
+  public readonly bescheidWizardStep = BescheidWizardStep;
 
-  clickHandler(step: BescheidWizardStep): void {
+  public clickHandler(step: BescheidWizardStep): void {
     if (this.isPrevious()) {
       this.stepChange.emit(step);
     }
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.html b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.html
index 825331da2d9ad0e2cd555537f93f0977ccd2089e..0baf1ff340c2b506157e0c038d85bcb44c894279 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.html
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.html
@@ -4,7 +4,7 @@
   variant="primary"
   size="medium"
   class="mt-8 flex"
-  dataTestId="bescheid-weiter-button"
+  data-test-id="bescheid-weiter-button"
   text="Weiter"
 >
 </ods-button-with-spinner>
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.spec.ts
index dfde1a388a6af3bc74a2a63ba6ceebf0fbd30fbd..fe96a125921eb3a4625480d865e1614395b27940 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid-wizard/weiter-button/bescheid-wizard-weiter-button.component.spec.ts
@@ -6,12 +6,15 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { ButtonWithSpinnerComponent } from '@ods/component';
 import { MockComponent } from 'ng-mocks';
 import { createCommandResource } from '../../../../../../command-shared/test/command';
+import { getDataTestIdOf } from '../../../../../../tech-shared/test/data-test';
 import { BescheidWizardWeiterButtonComponent } from './bescheid-wizard-weiter-button.component';
 
 describe('BescheidWizardWeiterButtonComponent', () => {
   let component: BescheidWizardWeiterButtonComponent;
   let fixture: ComponentFixture<BescheidWizardWeiterButtonComponent>;
 
+  const button: string = getDataTestIdOf('bescheid-weiter-button');
+
   let clickEmitter: Mock<EventEmitter<MouseEvent>>;
 
   beforeEach(() => {
@@ -51,7 +54,7 @@ describe('BescheidWizardWeiterButtonComponent', () => {
           triggerEvent({
             fixture,
             name: 'clickEmitter',
-            elementSelector: 'ods-button-with-spinner',
+            elementSelector: button,
           });
 
           expect(clickEmitter.emit).toHaveBeenCalled();
diff --git a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid.formservice.spec.ts b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid.formservice.spec.ts
index e2c9c8f2955be71b21fcffab4f8a1f56e75e7aa8..31a7953ddbbe01a16efe3ef77db557379ab94995 100644
--- a/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid.formservice.spec.ts
+++ b/alfa-client/libs/bescheid/src/lib/bescheid-wizard-container/bescheid.formservice.spec.ts
@@ -5,7 +5,7 @@ import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { registerLocaleData } from '@angular/common';
 import localeDe from '@angular/common/locales/de';
 import { UntypedFormBuilder } from '@angular/forms';
-import faker from '@faker-js/faker';
+import { faker } from '@faker-js/faker';
 import { ResourceUri } from '@ngxp/rest';
 import { EMPTY, Observable, of } from 'rxjs';
 import { createBescheid, createBescheidResource } from '../../../../bescheid-shared/src/test/bescheid';
diff --git a/alfa-client/libs/tech-shared/src/lib/resource/resource.util.spec.ts b/alfa-client/libs/tech-shared/src/lib/resource/resource.util.spec.ts
index 473adaf7a4eca024040733dbe0f3ed6dbfcc21b2..b8d4d562732d4553910f3b0020c7f96377798179 100644
--- a/alfa-client/libs/tech-shared/src/lib/resource/resource.util.spec.ts
+++ b/alfa-client/libs/tech-shared/src/lib/resource/resource.util.spec.ts
@@ -169,19 +169,13 @@ describe('resource util', () => {
 
   describe('containsLoading', () => {
     it('should return true', () => {
-      const contains = containsLoading([
-        createEmptyStateResource(true),
-        createEmptyStateResource(false),
-      ]);
+      const contains = containsLoading([createEmptyStateResource(true), createEmptyStateResource(false)]);
 
       expect(contains).toBeTruthy();
     });
 
     it('should return false', () => {
-      const contains = containsLoading([
-        createEmptyStateResource(false),
-        createEmptyStateResource(false),
-      ]);
+      const contains = containsLoading([createEmptyStateResource(false), createEmptyStateResource(false)]);
 
       expect(contains).toBeFalsy();
     });
@@ -195,10 +189,7 @@ describe('resource util', () => {
     });
 
     it('should return loaded', () => {
-      const loaded = getSuccessfullyLoaded([
-        createEmptyStateResource<Resource>(true),
-        loadedStateResource,
-      ]);
+      const loaded = getSuccessfullyLoaded([createEmptyStateResource<Resource>(true), loadedStateResource]);
 
       expect(loaded).toEqual([loadedStateResource]);
     });
@@ -232,10 +223,7 @@ describe('resource util', () => {
     it('should return true on loaded stateResource while configResource is null', () => {
       const stateResource: StateResource<Resource> = createStateResource(createDummyResource());
 
-      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(
-        stateResource,
-        null,
-      );
+      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(stateResource, null);
 
       expect(isInvalidCombination).toBeTruthy();
     });
@@ -244,10 +232,7 @@ describe('resource util', () => {
       const stateResource: StateResource<Resource> = createEmptyStateResource();
       const configResource: Resource = createDummyResource();
 
-      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(
-        stateResource,
-        configResource,
-      );
+      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(stateResource, configResource);
 
       expect(isInvalidCombination).toBeTruthy();
     });
@@ -259,10 +244,7 @@ describe('resource util', () => {
       };
       const configResource: Resource = createDummyResource();
 
-      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(
-        stateResource,
-        configResource,
-      );
+      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(stateResource, configResource);
 
       expect(isInvalidCombination).toBeFalsy();
     });
@@ -274,10 +256,7 @@ describe('resource util', () => {
       };
       const configResource: Resource = createDummyResource();
 
-      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(
-        stateResource,
-        configResource,
-      );
+      const isInvalidCombination: boolean = isInvalidResourceCombination<Resource, Resource>(stateResource, configResource);
 
       expect(isInvalidCombination).toBeTruthy();
     });
@@ -285,15 +264,21 @@ describe('resource util', () => {
 
   describe('isNotLoading', () => {
     it('should return true for empty state resource', () => {
-      expect(isNotLoading(createEmptyStateResource())).toBeTruthy();
+      const notLoading: boolean = isNotLoading(createEmptyStateResource());
+
+      expect(notLoading).toBeTruthy();
     });
 
     it('should return true', () => {
-      expect(isNotLoading(createCommandStateResource())).toBeTruthy();
+      const notLoading: boolean = isNotLoading(createCommandStateResource());
+
+      expect(notLoading).toBeTruthy();
     });
 
     it('should return false', () => {
-      expect(isNotLoading(createEmptyStateResource(true))).toBeFalsy();
+      const notLoading: boolean = isNotLoading(createEmptyStateResource(true));
+
+      expect(notLoading).toBeFalsy();
     });
   });
 });
diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
index c03aa3c08ef8cd9661cf99fba00fc7acd696d0e1..61ff0c02a6c99af5ab62322705891bda9832e7d0 100644
--- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
+++ b/alfa-client/libs/ui/src/lib/ui/ozgcloud-dialog/ozgcloud-dialog.service.ts
@@ -52,7 +52,7 @@ export class OzgcloudDialogService {
     return { ...dialogConfig, data };
   }
 
-  private openDialog<C, R = unknown>(component: ComponentType<C>, dialogConfig?: DialogConfig): DialogRef<R> {
+  private openDialog<C, R = unknown>(component: ComponentType<C>, dialogConfig?: DialogConfig): DialogRef<R, C> {
     return this.dialog.open<R, unknown, C>(component, dialogConfig);
   }
 
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts
index a7a6b8b101e53f386177da94d8f2b1598d2cd3f9..9e0cd75bc9717c51e9b1a2fb8012e3906008e769 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.spec.ts
@@ -21,17 +21,22 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { BescheidResource, BescheidService } from '@alfa-client/bescheid-shared';
+import { BescheidResource, BescheidService, BescheidWizardDialogResult } from '@alfa-client/bescheid-shared';
 import { CommandResource } from '@alfa-client/command-shared';
-import { HasLinkPipe, StateResource, createEmptyStateResource, createStateResource } from '@alfa-client/tech-shared';
-import { mock } from '@alfa-client/test-utils';
+import { createEmptyStateResource, createStateResource, HasLinkPipe, StateResource } from '@alfa-client/tech-shared';
+import { Mock, mock } from '@alfa-client/test-utils';
 import {
   IconButtonWithSpinnerComponent,
   OzgcloudDialogService,
   OzgcloudStrokedButtonWithSpinnerComponent,
 } from '@alfa-client/ui';
 import { BescheidenDialogData } from '@alfa-client/vorgang-detail';
-import { VorgangCommandService, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
+import {
+  VorgangCommandService,
+  VorgangService,
+  VorgangWithEingangLinkRel,
+  VorgangWithEingangResource,
+} from '@alfa-client/vorgang-shared';
 import { DialogRef } from '@angular/cdk/dialog';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { createCommandResource } from 'libs/command-shared/test/command';
@@ -50,12 +55,20 @@ describe('BescheidenButtonComponent', () => {
   const bescheidenButton: string = getDataTestIdOf('bescheiden-button');
   const bescheidenIconButton: string = getDataTestIdOf('bescheiden-icon-button');
 
-  const vorgangCommandService = mock(VorgangCommandService);
-  const ozgcloudDialogService = mock(OzgcloudDialogService);
-  const bescheidService = mock(BescheidService);
+  let vorgangCommandService: Mock<VorgangCommandService>;
+  let ozgcloudDialogService: Mock<OzgcloudDialogService>;
+  let bescheidService: Mock<BescheidService>;
+  let vorgangService: Mock<VorgangService>;
 
   const dialogRef = <DialogRef<VorgangDetailBescheidenComponent>>{};
 
+  beforeEach(() => {
+    vorgangCommandService = mock(VorgangCommandService);
+    ozgcloudDialogService = mock(OzgcloudDialogService);
+    bescheidService = mock(BescheidService);
+    vorgangService = mock(VorgangService);
+  });
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       declarations: [
@@ -77,6 +90,10 @@ describe('BescheidenButtonComponent', () => {
           provide: BescheidService,
           useValue: bescheidService,
         },
+        {
+          provide: VorgangService,
+          useValue: vorgangService,
+        },
       ],
     }).compileComponents();
 
@@ -232,18 +249,34 @@ describe('BescheidenButtonComponent', () => {
     });
   });
 
-  // Use this version after completed Bescheid refactoring and delete the other version below.
+  // TODO: Use this version after completed Bescheid refactoring and delete the other version below.
   // describe('openBescheidenWizard', () => {
+  //   let dialogRefMock: DialogRefMock<BescheidWizardDialogResult>;
+  //
+  //   beforeEach(() => {
+  //     dialogRefMock = createDialogRefMock<BescheidWizardDialogResult>();
+  //     ozgcloudDialogService.openWizard.mockReturnValue(dialogRefMock);
+  //   });
+  //
   //   it('should open wizard dialog', () => {
   //     const vorgang = createVorgangWithEingangResource();
   //     component.vorgang = vorgang;
   //
   //     component.openBescheidenWizard();
   //
-  //     expect(ozgcloudDialogService.openWizard).toHaveBeenCalledWith(
-  //       BescheidWizardContainerComponent,
-  //       { vorgangWithEingangResource: vorgang },
-  //     );
+  //     expect(ozgcloudDialogService.openWizard).toHaveBeenCalledWith(BescheidWizardContainerComponent, {
+  //       vorgangWithEingangResource: vorgang,
+  //     });
+  //   });
+  //
+  //   it('should handleBescheidWizardClosed', () => {
+  //     component.handleBescheidWizardClosed = jest.fn();
+  //     const dialogResult: BescheidWizardDialogResult = { reloadVorgang: true };
+  //     dialogRefMock.closed = of(dialogResult);
+  //
+  //     component.openBescheidenWizard();
+  //
+  //     expect(component.handleBescheidWizardClosed).toHaveBeenCalledWith(dialogResult);
   //   });
   // });
 
@@ -342,7 +375,6 @@ describe('BescheidenButtonComponent', () => {
     beforeEach(() => {
       component.vorgang = vorgangWithEingangResource;
       bescheidService.getBescheidDraftIfExists.mockReturnValue(of(bescheidDraftStateResource));
-      ozgcloudDialogService.openWizard;
     });
 
     it('should call ozgcloudDialogService.openWizard', () => {
@@ -351,4 +383,24 @@ describe('BescheidenButtonComponent', () => {
       expect(ozgcloudDialogService.openWizard).toHaveBeenCalledWith(VorgangDetailBescheidenComponent, dialogData);
     });
   });
+
+  describe('handleBescheidWizardClosed', () => {
+    it('should reload current vorgang', () => {
+      component.handleBescheidWizardClosed({ reloadVorgang: true });
+
+      expect(vorgangService.reloadCurrentVorgang).toHaveBeenCalled();
+    });
+
+    it('should not reload current vorgang', () => {
+      component.handleBescheidWizardClosed({ reloadVorgang: false });
+
+      expect(vorgangService.reloadCurrentVorgang).not.toHaveBeenCalled();
+    });
+
+    it.each([null, undefined])('should not reload current vorgang if result nil', (dialogResult: BescheidWizardDialogResult) => {
+      component.handleBescheidWizardClosed(dialogResult);
+
+      expect(vorgangService.reloadCurrentVorgang).not.toHaveBeenCalled();
+    });
+  });
 });
diff --git a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts
index 6bdae8df840ef7039dc223fbe3323e31139cb55b..09bc8b97ae156ce071a5f9bd72d497190a86b04e 100644
--- a/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts
+++ b/alfa-client/libs/vorgang-detail/src/lib/buttons/bescheiden-button/bescheiden-button.component.ts
@@ -21,11 +21,16 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { BescheidResource, BescheidService } from '@alfa-client/bescheid-shared';
+import { BescheidResource, BescheidService, BescheidWizardDialogResult } from '@alfa-client/bescheid-shared';
 import { CommandResource } from '@alfa-client/command-shared';
-import { StateResource, createEmptyStateResource, isLoaded } from '@alfa-client/tech-shared';
+import { StateResource, createEmptyStateResource, isLoaded, isNotNil } from '@alfa-client/tech-shared';
 import { OzgcloudDialogService } from '@alfa-client/ui';
-import { VorgangCommandService, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
+import {
+  VorgangCommandService,
+  VorgangService,
+  VorgangWithEingangLinkRel,
+  VorgangWithEingangResource,
+} from '@alfa-client/vorgang-shared';
 import { Component, Input, OnInit } from '@angular/core';
 import { hasLink } from '@ngxp/rest';
 import { Observable, filter, first, map, of } from 'rxjs';
@@ -57,6 +62,7 @@ export class BescheidenButtonComponent implements OnInit {
 
   constructor(
     private vorgangCommandService: VorgangCommandService,
+    private vorgangService: VorgangService,
     private ozgcloudDialogService: OzgcloudDialogService,
     private bescheidService: BescheidService,
   ) {}
@@ -80,15 +86,23 @@ export class BescheidenButtonComponent implements OnInit {
     );
   }
 
-  // Use this version after completed Bescheid refactoring and delete the other version below.
+  // TODO: Use this version after completed Bescheid refactoring and delete the other version below.
   // public openBescheidenWizard(): void {
   //   const dialogData: BescheidenDialogData = { vorgangWithEingangResource: this.vorgang };
-  //   this.ozgcloudDialogService.openWizard<BescheidWizardContainerComponent, BescheidenDialogData>(
+  //   const dialogRef: DialogRef<BescheidWizardDialogResult> = this.ozgcloudDialogService.openWizard<
   //     BescheidWizardContainerComponent,
-  //     dialogData,
-  //   );
+  //     BescheidenDialogData,
+  //     BescheidWizardDialogResult
+  //   >(BescheidWizardContainerComponent, dialogData);
+  //   dialogRef.closed.subscribe((dialogResult: BescheidWizardDialogResult) => this.handleBescheidWizardClosed(dialogResult));
   // }
 
+  handleBescheidWizardClosed(dialogResult: BescheidWizardDialogResult): void {
+    if (isNotNil(dialogResult) && dialogResult.reloadVorgang) {
+      this.vorgangService.reloadCurrentVorgang();
+    }
+  }
+
   public openBescheidenWizard(): void {
     this.bescheidService.init();
     if (hasLink(this.vorgang, VorgangWithEingangLinkRel.BESCHEID_DRAFT)) {