From c6a1efce011f7d81af19fc27feeba284ead2aaa6 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 1 Oct 2024 14:50:14 +0200
Subject: [PATCH] OZG-3539 fix E2E Tests

---
 .../user-settings.component.e2e.ts            | 16 ++++
 .../user-settings/user-settings.cy.ts         | 73 ++++++++++++++++++-
 ...il-benachrichtigung-container.component.ts |  6 +-
 3 files changed, 88 insertions(+), 7 deletions(-)

diff --git a/alfa-client/apps/alfa-e2e/src/components/user-settings/user-settings.component.e2e.ts b/alfa-client/apps/alfa-e2e/src/components/user-settings/user-settings.component.e2e.ts
index e0b5eb3690..ad90c1c606 100644
--- a/alfa-client/apps/alfa-e2e/src/components/user-settings/user-settings.component.e2e.ts
+++ b/alfa-client/apps/alfa-e2e/src/components/user-settings/user-settings.component.e2e.ts
@@ -26,6 +26,10 @@ import { TOGGLE_ELEMENT } from '../../support/angular.util';
 export class UserSettingsE2EComponent {
   private readonly rootLocator: string = 'user-settings';
   private readonly emailBenachrichtigungNewVorgangLocator: string = 'email-benachrichtigung-neuer-Vorgang';
+  private readonly emailBenachrichtigungVorgangAssignedToUserLocator: string = 'email-benachrichtigung-neuer-Vorgang-Assigned';
+  private readonly emailBenachrichtigungPostfachNachrichtFromAntragsteller: string =
+    'email-benachrichtigung-neue-Nachricht-Antragsteller';
+  private readonly emailBenachrichtigungWiedervorlageDueToday: string = 'email-benachrichtigung-Faellige-Wiedervorlage';
   private readonly darkModeLocator: string = 'dark-mode';
   private readonly buttonLocator: string = 'user-settings-button';
 
@@ -37,6 +41,18 @@ export class UserSettingsE2EComponent {
     return new ToggleE2EComponent(this.emailBenachrichtigungNewVorgangLocator);
   }
 
+  public getEmailBenachrichtigungForVorgangAssignedToUser(): ToggleE2EComponent {
+    return new ToggleE2EComponent(this.emailBenachrichtigungVorgangAssignedToUserLocator);
+  }
+
+  public getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller(): ToggleE2EComponent {
+    return new ToggleE2EComponent(this.emailBenachrichtigungPostfachNachrichtFromAntragsteller);
+  }
+
+  public getEmailBenachrichtigungForWiedervorlageDueToday(): ToggleE2EComponent {
+    return new ToggleE2EComponent(this.emailBenachrichtigungWiedervorlageDueToday);
+  }
+
   public getDarkMode(): ToggleE2EComponent {
     return new ToggleE2EComponent(this.darkModeLocator);
   }
diff --git a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts
index 532b4a9de3..2ba36a2468 100644
--- a/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts
+++ b/alfa-client/apps/alfa-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts
@@ -58,16 +58,28 @@ describe('User Settings', () => {
       userSettings.getRoot().click();
     });
 
-    it('should show notificationsSendsFor toggle', () => {
+    it('should show benachrichtigung neuer Vorgang toggle', () => {
       exist(userSettings.getEmailBenachrichtigungForNewVorgang().getRoot());
     });
 
+    it('should show benachrichtigung neue nachricht antragsteller toggle', () => {
+      exist(userSettings.getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller().getRoot());
+    });
+
+    it('should show benachrichtigung vorgang mir zugewiesen toggle', () => {
+      exist(userSettings.getEmailBenachrichtigungForVorgangAssignedToUser().getRoot());
+    });
+
+    it('should show benachrichtigung faellige wiedervorlage toggle', () => {
+      exist(userSettings.getEmailBenachrichtigungForWiedervorlageDueToday().getRoot());
+    });
+
     it('should show darkMode toggle', () => {
       exist(userSettings.getDarkMode().getRoot());
     });
   });
 
-  describe('click on notificationSendsFor toggle', () => {
+  describe('click on neuer Vorgang toggle', () => {
     it('should have initial unchecked toggle', () => {
       isNotChecked(userSettings.getEmailBenachrichtigungForNewVorgang().getToggle());
     });
@@ -86,6 +98,63 @@ describe('User Settings', () => {
     });
   });
 
+  describe('click on neue nachricht antragsteller toggle', () => {
+    it('should have initial unchecked toggle', () => {
+      isNotChecked(userSettings.getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller().getToggle());
+    });
+
+    it('should switch toggle status', () => {
+      userSettings.getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller().getToggle().click();
+
+      isChecked(userSettings.getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller().getToggle());
+    });
+
+    it('should be loaded after page reload', () => {
+      reload();
+
+      userSettings.getRoot().click();
+      isChecked(userSettings.getEmailBenachrichtigungForPostfachNachrichtFromAntragsteller().getToggle());
+    });
+  });
+
+  describe('click on vorgang mir zugewiesen toggle', () => {
+    it('should have initial unchecked toggle', () => {
+      isNotChecked(userSettings.getEmailBenachrichtigungForVorgangAssignedToUser().getToggle());
+    });
+
+    it('should switch toggle status', () => {
+      userSettings.getEmailBenachrichtigungForVorgangAssignedToUser().getToggle().click();
+
+      isChecked(userSettings.getEmailBenachrichtigungForVorgangAssignedToUser().getToggle());
+    });
+
+    it('should be loaded after page reload', () => {
+      reload();
+
+      userSettings.getRoot().click();
+      isChecked(userSettings.getEmailBenachrichtigungForVorgangAssignedToUser().getToggle());
+    });
+  });
+
+  describe('click on faellige wiedervorlage toggle', () => {
+    it('should have initial unchecked toggle', () => {
+      isNotChecked(userSettings.getEmailBenachrichtigungForWiedervorlageDueToday().getToggle());
+    });
+
+    it('should switch toggle status', () => {
+      userSettings.getEmailBenachrichtigungForWiedervorlageDueToday().getToggle().click();
+
+      isChecked(userSettings.getEmailBenachrichtigungForWiedervorlageDueToday().getToggle());
+    });
+
+    it('should be loaded after page reload', () => {
+      reload();
+
+      userSettings.getRoot().click();
+      isChecked(userSettings.getEmailBenachrichtigungForWiedervorlageDueToday().getToggle());
+    });
+  });
+
   describe('click on darkMode toggle', () => {
     it('should have initial unchecked toggle', () => {
       isNotChecked(userSettings.getDarkMode().getToggle());
diff --git a/alfa-client/libs/user-settings/src/lib/user-settings-container/user-settings/user-settings-dropdown/user-settings-email-benachrichtigung-container/user-settings-email-benachrichtigung-container.component.ts b/alfa-client/libs/user-settings/src/lib/user-settings-container/user-settings/user-settings-dropdown/user-settings-email-benachrichtigung-container/user-settings-email-benachrichtigung-container.component.ts
index 37ee3e2bbd..e4f8188072 100644
--- a/alfa-client/libs/user-settings/src/lib/user-settings-container/user-settings/user-settings-dropdown/user-settings-email-benachrichtigung-container/user-settings-email-benachrichtigung-container.component.ts
+++ b/alfa-client/libs/user-settings/src/lib/user-settings-container/user-settings/user-settings-dropdown/user-settings-email-benachrichtigung-container/user-settings-email-benachrichtigung-container.component.ts
@@ -22,11 +22,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 import { StateResource } from '@alfa-client/tech-shared';
-import {
-  UserSettings,
-  UserSettingsResource,
-  UserSettingsService,
-} from '@alfa-client/user-settings-shared';
+import { UserSettings, UserSettingsResource, UserSettingsService } from '@alfa-client/user-settings-shared';
 import { Component } from '@angular/core';
 import { Observable } from 'rxjs';
 
-- 
GitLab