diff --git a/alfa-client/apps/alfa-e2e/src/components/attachment/attachment.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/attachment/attachment.e2e.component.ts
index 5e001becb9fc1a2faed1e290fc1437c735c4a7a3..bf74b37a13a642c5508486f26ba6cc9418eb1e74 100644
--- a/alfa-client/apps/alfa-e2e/src/components/attachment/attachment.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/attachment/attachment.e2e.component.ts
@@ -25,7 +25,7 @@ import { convertToDataTestId } from '../../support/tech.util';
 
 export class AttachmentContainerE2EComponent {
   private readonly multiUploadInput: string = 'multi-file-upload-button';
-  //
+
   private readonly attachmentList: AttachmentListE2EComponent = new AttachmentListE2EComponent();
 
   public getList(): AttachmentListE2EComponent {
@@ -40,33 +40,23 @@ export class AttachmentContainerE2EComponent {
 
 export class AttachmentListE2EComponent {
   private readonly locatorRoot: string = 'file-list';
-  private readonly downloadAttachmentsButton: string = 'download-archive-file-button';
 
   public getRoot(): Cypress.Chainable<HTMLElement> {
     return cy.getTestElement(this.locatorRoot);
   }
 
-  public getItem(fileName: string): AttachmentE2EItem {
-    return new AttachmentE2EItem(fileName);
-  }
-
-  public getLoadingOrErrorItem(fileName: string): LoadingErrorAttachmentE2EItem {
-    return new LoadingErrorAttachmentE2EItem(fileName);
-  }
-
-  public getDownloadAttachmentsButton(): Cypress.Chainable<HTMLElement> {
-    return this.getRoot().findTestElementWithClass(this.downloadAttachmentsButton);
+  public getItem(fileName: string): AttachmentListItemE2EComponent {
+    return new AttachmentListItemE2EComponent(fileName);
   }
 
-  public downloadAttachments(): Cypress.Chainable<any> {
-    return this.getDownloadAttachmentsButton().click();
+  public getLoadingOrErrorItem(fileName: string): LoadingErrorAttachmentListeItemE2EComponent {
+    return new LoadingErrorAttachmentListeItemE2EComponent(fileName);
   }
 }
 
-//TODO Rename AttachmentListItemE2EComponent
-export class AttachmentE2EItem {
-  private readonly locatorDeleteButton: string = 'delete-file-button';
-  private readonly locatorDownloadButton: string = 'download-file-button';
+export class AttachmentListItemE2EComponent {
+  private readonly deleteButton: string = 'delete-file-button';
+  private readonly downloadButton: string = 'download-file-button';
 
   private locatorRoot: string;
 
@@ -79,16 +69,15 @@ export class AttachmentE2EItem {
   }
 
   public getDeleteButton(): Cypress.Chainable<HTMLElement> {
-    return this.getRoot().findTestElementWithClass(this.locatorDeleteButton);
+    return this.getRoot().findTestElementWithClass(this.deleteButton);
   }
 
   public getDownloadButton(): Cypress.Chainable<HTMLElement> {
-    return this.getRoot().findTestElementWithClass(this.locatorDownloadButton);
+    return this.getRoot().findTestElementWithClass(this.downloadButton);
   }
 }
 
-//TODO Zu AttachmentListItemE2EComponent packen
-class LoadingErrorAttachmentE2EItem {
+export class LoadingErrorAttachmentListeItemE2EComponent {
   private readonly root: string;
   private readonly attachmentSuffix: string = '-file-upload-list-item-attachment-upload';
 
diff --git a/alfa-client/apps/alfa-e2e/src/components/kommentar/kommentar-list.e2e.component.ts b/alfa-client/apps/alfa-e2e/src/components/kommentar/kommentar-list.e2e.component.ts
index 42e791b9899b0348637184324cfcf91f0ef5d60b..09cebe8b80f722d1869036d55767e47104031728 100644
--- a/alfa-client/apps/alfa-e2e/src/components/kommentar/kommentar-list.e2e.component.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/kommentar/kommentar-list.e2e.component.ts
@@ -25,54 +25,60 @@ import { convertToDataTestId } from '../../support/tech.util';
 import { AttachmentContainerE2EComponent } from '../attachment/attachment.e2e.component';
 import { UserProfileE2EComponent } from '../user-profile/user-profile.component.e2e';
 
-export class KommentareInVorgangE2EComponent {
-  readonly locatorHinzufuegenButton: string = 'create-kommentar';
-  readonly locatorFormular: string = 'kommentar-formular';
-  readonly locatorFormularSpeichernButton: string = 'add-button';
-  readonly locatorFormularAbbrechenButton: string = 'cancel-button';
-  readonly locatorKommentarList: string = 'kommentar-list-in-vorgang';
-  readonly locatorTextInput: string = 'Kommentar-textarea-input';
-  readonly locatorTextError: string = 'Kommentar-textarea-error';
-
-  private readonly attachmentContainer: AttachmentContainerE2EComponent =
-    new AttachmentContainerE2EComponent();
-
-  readonly locatorRoot: string = 'kommentar-container-in-vorgang';
-
-  public getRoot() {
-    return cy.getTestElement(this.locatorRoot);
+export class KommentarListInVorgangE2EComponent {
+  readonly hinzufuegenButton: string = 'create-kommentar';
+
+  readonly root: string = 'kommentar-container-in-vorgang';
+
+  readonly kommentarList: string = 'kommentar-list-in-vorgang';
+
+  readonly formular: string = 'kommentar-formular';
+  readonly formularItem: string = 'kommentar-list-item-form';
+  readonly formularSpeichernButton: string = 'add-button';
+  readonly formularAbbrechenButton: string = 'cancel-button';
+  readonly textInput: string = 'Kommentar-textarea-input';
+  readonly textError: string = 'Kommentar-textarea-error';
+
+  private readonly attachmentContainer: AttachmentContainerE2EComponent = new AttachmentContainerE2EComponent();
+
+  public getRoot(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.root);
+  }
+
+  public getFormular(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.formular);
   }
 
-  public getFormular() {
-    return cy.getTestElement(this.locatorFormular);
+  public getFormulare(): Cypress.Chainable<Element[]> {
+    return cy.getTestElement(this.formularItem);
   }
 
-  public getHinzufuegenButton() {
-    return cy.getTestElement(this.locatorHinzufuegenButton);
+  public getHinzufuegenButton(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.hinzufuegenButton);
   }
 
-  public getFormularSpeichernButton() {
-    return cy.getTestElement(this.locatorFormularSpeichernButton);
+  public getFormularSpeichernButton(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.formularSpeichernButton);
   }
 
-  public getFormularAbbrechenButton() {
-    return cy.getTestElement(this.locatorFormularAbbrechenButton);
+  public getFormularAbbrechenButton(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.formularAbbrechenButton);
   }
 
-  public getKommentarList() {
-    return cy.getTestElement(this.locatorKommentarList);
+  public getKommentarList(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.kommentarList);
   }
 
-  public getTextInput() {
-    return cy.getTestElement(this.locatorTextInput);
+  public getTextInput(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.textInput);
   }
 
-  public getTextError() {
-    return cy.getTestElement(this.locatorTextError);
+  public getTextError(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.textError);
   }
 
-  public getKommentar(text: string): KommentarInVorgangE2E {
-    return new KommentarInVorgangE2E(text);
+  public getKommentar(text: string): KommentarInVorgangE2EComponent {
+    return new KommentarInVorgangE2EComponent(text);
   }
 
   public getAttachmentContainer(): AttachmentContainerE2EComponent {
@@ -80,26 +86,24 @@ export class KommentareInVorgangE2EComponent {
   }
 }
 
-export class KommentarInVorgangE2E {
-  //TODO: Rename to KommentarInVorgangE2EComponent
-
-  private readonly locatorCreatedAt: string = 'kommentar-created-at';
+export class KommentarInVorgangE2EComponent {
+  private readonly root: string;
 
-  private readonly locatorRoot: string;
+  private readonly createdAtInput: string = 'kommentar-created-at';
 
   constructor(private text: string) {
-    this.locatorRoot = 'kommentar-item-' + convertToDataTestId(this.text);
+    this.root = 'kommentar-item-' + convertToDataTestId(this.text);
   }
 
-  public getRoot() {
-    return cy.getTestElement(this.locatorRoot);
+  public getRoot(): Cypress.Chainable<Element> {
+    return cy.getTestElement(this.root);
   }
 
   public getUserProfile(): UserProfileE2EComponent {
-    return new UserProfileE2EComponent(this.locatorRoot);
+    return new UserProfileE2EComponent(this.root);
   }
 
-  public getCreatedAt() {
-    return cy.getTestElement(this.locatorCreatedAt);
+  public getCreatedAt(): Cypress.Chainable<Element> {
+    return this.getRoot().findTestElementWithClass(this.createdAtInput);
   }
 }
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts
index 36404c2bfd54e1e3a8d9c6deddc497d7a6b98412..8cddad300e40d3cb4c4cca590d69f30845a5314f 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts
@@ -26,7 +26,7 @@ import {
   AttachmentContainerE2EComponent,
   AttachmentListE2EComponent,
 } from '../../../components/attachment/attachment.e2e.component';
-import { KommentareInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component';
+import { KommentarListInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component';
 import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component';
 import { VorgangE2E } from '../../../model/vorgang';
 import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
@@ -43,7 +43,7 @@ describe('Kommentar attachments', () => {
   const vorgangList: VorgangListE2EComponent = mainPage.getVorgangList();
 
   const vorgangPage: VorgangPage = new VorgangPage();
-  const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer();
+  const kommentarContainer: KommentarListInVorgangE2EComponent = vorgangPage.getKommentarContainer();
 
   const attachmentContainer: AttachmentContainerE2EComponent = kommentarContainer.getAttachmentContainer();
   const attachmentList: AttachmentListE2EComponent = attachmentContainer.getList();
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts
index 23754b15795ba5f5ed020b7dd450dad2a2d14fe3..3dd0675248e84e7611f85608d2fb6188a79cb47a 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts
@@ -21,13 +21,13 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { KommentareInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component';
+import { KommentarListInVorgangE2EComponent } from '../../../components/kommentar/kommentar-list.e2e.component';
 import { UserE2E } from '../../../model/user';
 import { VorgangE2E } from '../../../model/vorgang';
 import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
 import { VorgangPage } from '../../../page-objects/vorgang.po';
 import { dropCollections } from '../../../support/cypress-helper';
-import { contains, exist, haveText, notExist } from '../../../support/cypress.util';
+import { contains, exist, haveLength, haveText, notExist } from '../../../support/cypress.util';
 import { getUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util';
 import { createVorgang, initVorgang } from '../../../support/vorgang-util';
 
@@ -35,7 +35,7 @@ describe('Kommentar', () => {
   const mainPage: MainPage = new MainPage();
 
   const vorgangPage: VorgangPage = new VorgangPage();
-  const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer();
+  const kommentarContainer: KommentarListInVorgangE2EComponent = vorgangPage.getKommentarContainer();
 
   const kommentarText: string = 'Test text to test the test text test';
 
@@ -90,7 +90,7 @@ describe('Kommentar', () => {
     });
 
     describe('click on hinzufuegen button in formular', () => {
-      it('should show error on invalid input', () => {
+      it('should show error on empty text', () => {
         kommentarContainer.getFormularSpeichernButton().click();
         waitForSpinnerToDisappear();
 
@@ -101,53 +101,22 @@ describe('Kommentar', () => {
         kommentarContainer.getTextInput().clear().type(kommentarText);
 
         kommentarContainer.getFormularSpeichernButton().click();
-        exist(vorgangPage.getSpinner());
-        notExist(
-          kommentarContainer
-            .getKommentar(kommentarText)
-            .getUserProfile()
-            .getIconContainer()
-            .getAssignedIcon(),
-        );
-        exist(vorgangPage.getSpinner());
         waitForSpinnerToDisappear();
-        exist(
-          kommentarContainer
-            .getKommentar(kommentarText)
-            .getUserProfile()
-            .getIconContainer()
-            .getAssignedIcon(),
-        );
 
+        // exist(kommentarContainer.getKommentar(kommentarText).getUserProfile().getIconContainer().getAssignedIcon());
         notExist(kommentarContainer.getTextError());
         notExist(kommentarContainer.getFormular());
         exist(kommentarContainer.getHinzufuegenButton());
-      });
-
-      it('should show entry in list', () => {
         exist(kommentarContainer.getKommentar(kommentarText).getRoot());
       });
 
-      it('should show user profile at kommentar', () => {
-        exist(
-          kommentarContainer
-            .getKommentar(kommentarText)
-            .getUserProfile()
-            .getIconContainer()
-            .getAssignedIcon(),
-        );
+      it.skip('should show user profile at kommentar', () => {
+        exist(kommentarContainer.getKommentar(kommentarText).getUserProfile().getIconContainer().getAssignedIcon());
         haveText(
-          kommentarContainer
-            .getKommentar(kommentarText)
-            .getUserProfile()
-            .getIconContainer()
-            .getAssignedIcon(),
+          kommentarContainer.getKommentar(kommentarText).getUserProfile().getIconContainer().getAssignedIcon(),
           userSabine.initials,
         );
-        contains(
-          kommentarContainer.getKommentar(kommentarText).getUserProfile().getName(),
-          userSabine.fullName,
-        );
+        contains(kommentarContainer.getKommentar(kommentarText).getUserProfile().getName(), userSabine.fullName);
         exist(kommentarContainer.getKommentar(kommentarText).getCreatedAt());
       });
     });
@@ -212,5 +181,27 @@ describe('Kommentar', () => {
         exist(kommentarContainer.getHinzufuegenButton());
       });
     });
+
+    describe('other kommentar', () => {
+      const otherKommentar: string = 'otherKommentar';
+
+      it('should be created', () => {
+        kommentarContainer.getHinzufuegenButton().click();
+        kommentarContainer.getTextInput().clear().type(otherKommentar);
+        kommentarContainer.getFormularSpeichernButton().click();
+        waitForSpinnerToDisappear();
+
+        haveLength(kommentarContainer.getFormulare(), 0);
+        exist(kommentarContainer.getKommentar(otherKommentar).getRoot());
+      });
+
+      it('should hide previous opened kommentar on edit other kommentar', () => {
+        kommentarContainer.getKommentar(kommentarText).getRoot().click();
+        haveLength(kommentarContainer.getFormulare(), 1);
+
+        kommentarContainer.getKommentar(otherKommentar).getRoot().click();
+        haveLength(kommentarContainer.getFormulare(), 1);
+      });
+    });
   });
 });
diff --git a/alfa-client/apps/alfa-e2e/src/page-objects/vorgang.po.ts b/alfa-client/apps/alfa-e2e/src/page-objects/vorgang.po.ts
index caa0e2872c6ffb9820602075dd194c072b8b6008..6a1d1b397b3e0a9eb91362cd0220230b67a5db14 100644
--- a/alfa-client/apps/alfa-e2e/src/page-objects/vorgang.po.ts
+++ b/alfa-client/apps/alfa-e2e/src/page-objects/vorgang.po.ts
@@ -22,7 +22,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 import { AttachmentContainerE2EComponent } from '../components/attachment/attachment.e2e.component';
-import { KommentareInVorgangE2EComponent } from '../components/kommentar/kommentar-list.e2e.component';
+import { KommentarListInVorgangE2EComponent } from '../components/kommentar/kommentar-list.e2e.component';
 import { PostfachMailFormularE2EComponent } from '../components/postfach/postfach-mail-formular.e2e.component';
 import { PostfachMailE2EComponent } from '../components/postfach/postfach-mail.e2e.component';
 import { FixedDialogE2EComponent } from '../components/ui/fixed-dialog.e2e.component';
@@ -40,42 +40,29 @@ import { VorgangZusammenarbeitE2EComponent } from '../components/vorgang/vorgang
 import { WiedervorlagenInVorgangE2EComponent } from '../components/wiedervorlage/wiedervorlagen-in-vorgang.e2e.component';
 
 export class VorgangPage {
-  private readonly subnavigation: VorgangSubnavigationE2EComponent =
-    new VorgangSubnavigationE2EComponent();
-  private readonly vorgangDetailHeader: VorgangDetailHeaderE2EComponent =
-    new VorgangDetailHeaderE2EComponent();
-  private readonly formularDatenContainer: VorgangFormularDatenE2EComponent =
-    new VorgangFormularDatenE2EComponent();
-  private readonly formularButtons: VorgangFormularButtonsE2EComponent =
-    new VorgangFormularButtonsE2EComponent();
+  private readonly subnavigation: VorgangSubnavigationE2EComponent = new VorgangSubnavigationE2EComponent();
+  private readonly vorgangDetailHeader: VorgangDetailHeaderE2EComponent = new VorgangDetailHeaderE2EComponent();
+  private readonly formularDatenContainer: VorgangFormularDatenE2EComponent = new VorgangFormularDatenE2EComponent();
+  private readonly formularButtons: VorgangFormularButtonsE2EComponent = new VorgangFormularButtonsE2EComponent();
   private readonly moreMenu: VorgangMoreMenuE2EComponent = new VorgangMoreMenuE2EComponent();
-  private readonly aktenzeichenEditor: VorgangAktenzeichenEditE2EComponent =
-    new VorgangAktenzeichenEditE2EComponent();
-  private readonly bescheidWizard: VorgangBescheidWizardE2EComponent =
-    new VorgangBescheidWizardE2EComponent();
+  private readonly aktenzeichenEditor: VorgangAktenzeichenEditE2EComponent = new VorgangAktenzeichenEditE2EComponent();
+  private readonly bescheidWizard: VorgangBescheidWizardE2EComponent = new VorgangBescheidWizardE2EComponent();
   private readonly bescheide: VorgangBescheideE2EComponent = new VorgangBescheideE2EComponent();
-  private readonly wiedervorlagen: WiedervorlagenInVorgangE2EComponent =
-    new WiedervorlagenInVorgangE2EComponent();
-  private readonly forwardingContainer: VorgangForwardingE2EComponent =
-    new VorgangForwardingE2EComponent();
-  private readonly attachmentContainer: AttachmentContainerE2EComponent =
-    new AttachmentContainerE2EComponent();
-  private readonly kommentarContainer: KommentareInVorgangE2EComponent =
-    new KommentareInVorgangE2EComponent();
+  private readonly wiedervorlagen: WiedervorlagenInVorgangE2EComponent = new WiedervorlagenInVorgangE2EComponent();
+  private readonly forwardingContainer: VorgangForwardingE2EComponent = new VorgangForwardingE2EComponent();
+  private readonly attachmentContainer: AttachmentContainerE2EComponent = new AttachmentContainerE2EComponent();
+  private readonly kommentarContainer: KommentarListInVorgangE2EComponent = new KommentarListInVorgangE2EComponent();
   private readonly postfachMailContainer: PostfachMailE2EComponent = new PostfachMailE2EComponent();
-  private readonly antragstellerContainer: AntragstellerE2EComponent =
-    new AntragstellerE2EComponent();
-  private readonly zusammenArbeitContainer: VorgangZusammenarbeitE2EComponent =
-    new VorgangZusammenarbeitE2EComponent();
+  private readonly antragstellerContainer: AntragstellerE2EComponent = new AntragstellerE2EComponent();
+  private readonly zusammenArbeitContainer: VorgangZusammenarbeitE2EComponent = new VorgangZusammenarbeitE2EComponent();
 
   private readonly fixedDialog: FixedDialogE2EComponent = new FixedDialogE2EComponent();
-  private readonly postfachMailFormular: PostfachMailFormularE2EComponent =
-    new PostfachMailFormularE2EComponent();
+  private readonly postfachMailFormular: PostfachMailFormularE2EComponent = new PostfachMailFormularE2EComponent();
 
   private readonly locatorSpinner: string = 'spinner';
   private readonly locatorProgressBar: string = 'progress-bar';
 
-  public getKommentarContainer(): KommentareInVorgangE2EComponent {
+  public getKommentarContainer(): KommentarListInVorgangE2EComponent {
     return this.kommentarContainer;
   }
 
diff --git a/alfa-client/libs/kommentar/src/lib/kommentar-list-in-vorgang-container/kommentar-list-in-vorgang/kommentar-list-item-in-vorgang/kommentar-list-item-in-vorgang.component.html b/alfa-client/libs/kommentar/src/lib/kommentar-list-in-vorgang-container/kommentar-list-in-vorgang/kommentar-list-item-in-vorgang/kommentar-list-item-in-vorgang.component.html
index 78ac673c8e3c3a2b871f8f0af621b8bf5b2d09e3..2bace6cd981024e6e589d527c6af06a0a1c572a1 100644
--- a/alfa-client/libs/kommentar/src/lib/kommentar-list-in-vorgang-container/kommentar-list-in-vorgang/kommentar-list-item-in-vorgang/kommentar-list-item-in-vorgang.component.html
+++ b/alfa-client/libs/kommentar/src/lib/kommentar-list-in-vorgang-container/kommentar-list-in-vorgang/kommentar-list-item-in-vorgang/kommentar-list-item-in-vorgang.component.html
@@ -32,7 +32,7 @@
         [kommentar]="kommentar"
         data-test-class="kommentar-created-by"
       ></alfa-user-profile-in-kommentar-container>
-      <span data-test-id="kommentar-created-at" class="date text-sm">{{
+      <span data-test-class="kommentar-created-at" class="date text-sm">{{
         kommentar.createdAt | formatDateWithTimePipe: false
       }}</span>
     </div>