From 4a9d48e71af23fdc250cf7223496f4a60999be96 Mon Sep 17 00:00:00 2001
From: sebo <sebastian.bergandy@external.mgm-cp.com>
Date: Tue, 25 Feb 2025 09:02:45 +0100
Subject: [PATCH] add spinner test class to ods button

---
 .../vorgang-bescheid/vorgang-bescheid-historie.cy.ts   | 10 ++++++++++
 .../vorgang-bescheid-nur-speichern.cy.ts               |  4 ++--
 .../design-system/src/lib/button/button.component.ts   |  4 ++--
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-historie.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-historie.cy.ts
index e6a92b958d..ef253d56e9 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-historie.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-historie.cy.ts
@@ -106,6 +106,8 @@ describe('Bescheid History', () => {
         vorgangFormularButtons.getBescheidenButton().click();
         enterWith(bescheidWizard.getDateInput(), getAdjustedDateGerman(-1));
         bescheidWizard.getWeiterButton().click();
+        waitForSpinnerToDisappear();
+
         uploadFile(bescheidWizard.getUploadBescheidButton(), TEST_FILE_BESCHEID_VALID);
         notExist(bescheidWizard.getBescheidUploadSpinner());
         uploadFile(bescheidWizard.getUploadAttachmentButton(), TEST_FILE_BESCHEID_ANHANG_VALID);
@@ -116,6 +118,7 @@ describe('Bescheid History', () => {
         bescheidWizard.getSaveButton().click();
         bescheidWizard.getConfirmAndSaveButton().click();
         waitForSpinnerToDisappear();
+
         vorgangDatenFormular.getHistorieTab().click();
 
         const historieItem: VorgangFormularDatenHistorieItemE2EComponent = vorgangDatenFormular.getHistorieItemByIndex(0);
@@ -143,6 +146,8 @@ describe('Bescheid History', () => {
         vorgangFormularButtons.getBescheidenButton().click();
         enterWith(bescheidWizard.getDateInput(), getAdjustedDateGerman(-1));
         bescheidWizard.getWeiterButton().click();
+        waitForSpinnerToDisappear();
+
         uploadFile(bescheidWizard.getUploadBescheidButton(), TEST_FILE_BESCHEID_VALID);
         notExist(bescheidWizard.getBescheidUploadSpinner());
         bescheidWizard.getWeiterButton().click();
@@ -151,6 +156,7 @@ describe('Bescheid History', () => {
         bescheidWizard.getSaveButton().click();
         bescheidWizard.getConfirmAndSaveButton().click();
         waitForSpinnerToDisappear();
+
         vorgangDatenFormular.getHistorieTab().click();
 
         const historieItem: VorgangFormularDatenHistorieItemE2EComponent = vorgangDatenFormular.getHistorieItemByIndex(0);
@@ -174,6 +180,8 @@ describe('Bescheid History', () => {
         bescheidWizard.getAbgelehntButton().click();
         enterWith(bescheidWizard.getDateInput(), getAdjustedDateGerman(1));
         bescheidWizard.getWeiterButton().click();
+        waitForSpinnerToDisappear();
+
         uploadFile(bescheidWizard.getUploadBescheidButton(), TEST_FILE_BESCHEID_VALID);
         notExist(bescheidWizard.getBescheidUploadSpinner());
         uploadFile(bescheidWizard.getUploadAttachmentButton(), TEST_FILE_BESCHEID_ANHANG_VALID);
@@ -181,6 +189,8 @@ describe('Bescheid History', () => {
         uploadFile(bescheidWizard.getUploadAttachmentButton(), TEST_FILE_BESCHEID_ANHANG_VALID);
         notExist(bescheidWizard.getAttachmentUploadSpinner());
         bescheidWizard.getWeiterButton().click();
+        waitForSpinnerToDisappear();
+
         bescheidWizard.getSendButton().click();
         exist(bescheidWizard.getSendenSpinner());
         notExist(bescheidWizard.getSendenSpinner());
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts
index e6c7a90ef2..ddc9cebd90 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/vorgang-bescheid/vorgang-bescheid-nur-speichern.cy.ts
@@ -99,9 +99,9 @@ describe('Bescheid speichern', () => {
 
     it('should update Vorgang status after saving', () => {
       bescheidWizard.getConfirmAndSaveButton().click();
-      notExist(bescheidWizard.getRoot());
-
       waitForSpinnerToDisappear();
+
+      notExist(bescheidWizard.getRoot());
       haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.BESCHIEDEN]);
     });
   });
diff --git a/alfa-client/libs/design-system/src/lib/button/button.component.ts b/alfa-client/libs/design-system/src/lib/button/button.component.ts
index 15a9b7efdc..f74b535d27 100644
--- a/alfa-client/libs/design-system/src/lib/button/button.component.ts
+++ b/alfa-client/libs/design-system/src/lib/button/button.component.ts
@@ -87,7 +87,7 @@ export type ButtonVariants = VariantProps<typeof buttonVariants>;
   selector: 'ods-button',
   standalone: true,
   imports: [CommonModule, SpinnerIconComponent],
-  template: `<button
+  template: ` <button
     type="button"
     [ngClass]="buttonVariants({ size, variant, disabled, destructive })"
     [disabled]="isDisabled"
@@ -97,7 +97,7 @@ export type ButtonVariants = VariantProps<typeof buttonVariants>;
     (click)="clickEmitter.emit()"
   >
     <ng-content *ngIf="!isLoading" select="[icon]"></ng-content>
-    <ods-spinner-icon *ngIf="isLoading" [size]="spinnerSize"></ods-spinner-icon>
+    <ods-spinner-icon *ngIf="isLoading" [size]="spinnerSize" data-test-class="spinner"></ods-spinner-icon>
     <div *ngIf="text" class="flex-grow">{{ text }}</div>
   </button>`,
 })
-- 
GitLab