diff --git a/.gitignore b/.gitignore
index 671fb0fee4dba749bd6cb2b15d03422c8ea29976..b97206eaa9037206fb36f521f938d8c355afb4da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,8 @@ target/
 # Client
 goofy-client/.vscode/
 goofy-client/apps/coverage/
+goofy-client/node/*
+goofy-client/temp/*
 
 .attach**
-.factorypath
\ No newline at end of file
+.factorypath
diff --git a/goofy-client/angular.json b/goofy-client/angular.json
index 7d3d774bea4f7997a60e7edf1af771bcef6c8a2e..5f1d506b3b665e252c59633089bbac7e8e7f1d28 100644
--- a/goofy-client/angular.json
+++ b/goofy-client/angular.json
@@ -452,9 +452,10 @@
 				"e2e": {
 					"builder": "@nrwl/cypress:cypress",
 					"options": {
-						"cypressConfig": "apps/goofy-e2e/cypress.json",
+						"cypressConfig": "apps/goofy-e2e/cypress.config.ts",
 						"tsConfig": "apps/goofy-e2e/tsconfig.e2e.json",
-						"devServerTarget": "goofy:serve"
+						"devServerTarget": "goofy:serve",
+						"testingType": "e2e"
 					},
 					"configurations": {
 						"production": {
diff --git a/goofy-client/apps/goofy-e2e/Jenkinsfile b/goofy-client/apps/goofy-e2e/Jenkinsfile
index cb5ffcccaa43c0efcc5a1946e6bf2c47e9d1545d..c25dede479bf24c9037d9c13d44f45abb864d9c3 100644
--- a/goofy-client/apps/goofy-e2e/Jenkinsfile
+++ b/goofy-client/apps/goofy-e2e/Jenkinsfile
@@ -190,15 +190,6 @@ pipeline {
             }
         }
 
-//        stage('Pausing to wait for ozg-operator') {
-//			when {
-//                expression { !SKIP_RUN }
-//            }
-//            steps {
-//                sleep(time: 3, unit: 'MINUTES')
-//            }
-//        }
-
         stage('Run E2E-Tests') {
             when {
                 expression { !SKIP_RUN }
@@ -614,12 +605,13 @@ Void publishE2ETestResult(String reportFolder, String reportName) {
 }
 
 String runTests(String bezeichner, String reportFolder, Integer dbPort, String stageName) {
-    def configFile = generateCypressConfig(bezeichner, reportFolder, dbPort)
+    def config = generateCypressConfig(bezeichner, reportFolder, dbPort)
+	def spec = "apps/goofy-e2e/src/e2e/${reportFolder}"
 
     try {
-        dir("goofy-client") {
-      	    sh "npm run cypress:version"
-            sh "npm run cypress:ci-run --CONFIG_FILE=${configFile} --REPORT_FOLDER=${reportFolder}"
+        dir('goofy-client'){
+			sh "npm run cypress:version"
+			sh "npm run cypress:ci-run --CONFIG=./${config} --REPORT_FOLDER=${reportFolder}"
         }
     } catch (Exception e) {
         printNpmDebugLog()
@@ -658,35 +650,35 @@ String cutBranchNameForKeycloakRealm(String branchName, String stageName) {
 
 String generateCypressConfig(String bezeichner, String testFolder, Integer dbPort) {
     def namespace = generateNamespace(bezeichner)
-    def configName = "cypress-ci-"+testFolder+".json"
+	def configName = "cypress-ci-"+testFolder+".json"
 
-    dir('goofy-client/apps/goofy-e2e/'){
-        def config = readJSON file: 'cypress-ci.json'
+	dir('goofy-client/apps/goofy-e2e/'){
+		def config = readJSON file: 'cypress-ci.json'
 
 		def plutoDatabaseSecret = getPlutoDatabaseSecret(namespace);
 		def decodedPassword = decodeString(plutoDatabaseSecret.password);
 		def parsablePassword = makePasswordUrlConform(decodedPassword);
 
-        config.baseUrl = "https://${bezeichner}.${env.CLUSTER_BASE_URL}" as String
-        config.env.dbUrl = "mongodb://${decodeString(plutoDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String
-        config.env.keycloakUrl = "https://${env.SSO_URL}/" as String
-        config.env.keycloakRealm = namespace as String
-        config.env.keycloakClient = "alfa" as String
+		config.baseUrl = "https://${bezeichner}.${env.CLUSTER_BASE_URL}" as String
+		config.env.dbUrl = "mongodb://${decodeString(plutoDatabaseSecret.username)}:${parsablePassword}@localhost:${dbPort}/admin?ssl=false&directConnection=true" as String
+		config.env.keycloakUrl = "https://${env.SSO_URL}/" as String
+		config.env.keycloakRealm = namespace as String
 		config.env.sabineUuid = getKeycloakUuid(namespace, "sabine") as String
-        config.integrationFolder = "./src/integration/${testFolder}" as String
-        config.videosFolder = "./reports/${testFolder}/videos" as String
-	    config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String
-        config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String
+		config.videosFolder = "./reports/${testFolder}/videos" as String
+		config.screenshotsFolder = "./reports/${testFolder}/screenshots" as String
+		config.reporterOptions.reportDir = "./reports/${testFolder}/mochawesome-report" as String
 
-        config.env.put("search", getElasticsearchEnv(namespace))
-        config.env.put("userManager", getUserManagerEnv(namespace, dbPort))
+        config.specPattern = "src/e2e/${testFolder}/**/*.cy.{js,jsx,ts,tsx}" as String
 
-        writeJSON file: configName, json: config
+		config.env.put("search", getElasticsearchEnv(namespace))
+		config.env.put("userManager", getUserManagerEnv(namespace, dbPort))
 
-        sh "cat ${configName}"
-    }
+		writeJSON file: configName, json: config
+
+		sh "cat ${configName}"
+	}
 
-    return configName
+	return "cypress-ci-"+testFolder+".config.ts"
 }
 
 String makePasswordUrlConform(String password) {
diff --git a/goofy-client/apps/goofy-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts b/goofy-client/apps/goofy-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5ef91724365a1ed66f94db34d0c762d8b1b3b2b7
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/cypress-ci-einheitlicher-ansprechpartner.config.ts
@@ -0,0 +1,16 @@
+import { nxE2EPreset } from '@nrwl/cypress/plugins/cypress-preset';
+import { defineConfig } from 'cypress';
+
+//Cypress config is generated by JenkinsFile
+const cypressConfig = require('./cypress-ci-einheitlicher-ansprechpartner.json');
+const cypressEvents = require('./src/support/cypress-tasks.ts');
+
+export default defineConfig({
+	e2e: {
+		...nxE2EPreset(__dirname),
+		...cypressConfig,
+		setupNodeEvents(on, config) {
+			return cypressEvents(on, config);
+		}
+	},
+});
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/cypress-ci-main-tests.config.ts b/goofy-client/apps/goofy-e2e/cypress-ci-main-tests.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..c3b17666b23e7ef150bfc88da510380739f7f49a
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/cypress-ci-main-tests.config.ts
@@ -0,0 +1,16 @@
+import { nxE2EPreset } from '@nrwl/cypress/plugins/cypress-preset';
+import { defineConfig } from 'cypress';
+
+//Cypress config is generated by JenkinsFile
+const cypressConfig = require('./cypress-ci-main-tests.json');
+const cypressEvents = require('./src/support/cypress-tasks.ts');
+
+export default defineConfig({
+	e2e: {
+		...nxE2EPreset(__dirname),
+		...cypressConfig,
+		setupNodeEvents(on, config) {
+			return cypressEvents(on, config);
+		}
+	},
+});
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/cypress-ci.json b/goofy-client/apps/goofy-e2e/cypress-ci.json
index cbcd4bfb981c2d6443c05fe4925c05646c1c9325..084a420ec79ba1ddf02340bfe17f62db94a8b985 100644
--- a/goofy-client/apps/goofy-e2e/cypress-ci.json
+++ b/goofy-client/apps/goofy-e2e/cypress-ci.json
@@ -1,30 +1,22 @@
 {
-	"baseUrl": "https://e2e.dev.by.ozg-cloud.de",
 	"env": {
-		"dbUrl": "mongodb+srv://pluto-database-user:XnHhfznNWg65NNd@pluto-database-svc.sh-e2e-dev.svc.cluster.local/admin?ssl=false",
 		"database": "pluto-database",
-		"keycloakRealm": "by-e2e-local-dev",
-		"keycloakUrl": "https://sso.dev.by.ozg-cloud.de/",
 		"keycloakClient": "alfa"
 	},
 	"fileServerFolder": ".",
 	"fixturesFolder": "./src/fixtures",
-	"integrationFolder": "./src/integration",
 	"modifyObstructiveCode": false,
-	"pluginsFile": "./src/plugins/index",
-	"supportFile": "./src/support/index.ts",
 	"video": true,
-	"videosFolder": "./reports/videos",
-	"screenshotsFolder": "./reports/screenshots",
 	"chromeWebSecurity": false,
 	"reporter": "../../node_modules/cypress-mochawesome-reporter",
 	"defaultCommandTimeout": 10000,
+	"supportFile": "./src/support/e2e.ts",
+	"testIsolation": false,
 	"reporterOptions": {
 		"html": false,
 		"json": true,
 		"quite": true,
-		"reportDir": "./reports/mochawesome-report",
 		"reportFilename": "report",
 		"overwrite": false
 	}
-}
\ No newline at end of file
+}
diff --git a/goofy-client/apps/goofy-e2e/cypress.json b/goofy-client/apps/goofy-e2e/cypress.config.json
similarity index 84%
rename from goofy-client/apps/goofy-e2e/cypress.json
rename to goofy-client/apps/goofy-e2e/cypress.config.json
index 3b0a26d3b4eff62ab9c59c604f6363b12979da51..2eaa211f04655dea29923a5a9228dc5a98dcc19b 100644
--- a/goofy-client/apps/goofy-e2e/cypress.json
+++ b/goofy-client/apps/goofy-e2e/cypress.config.json
@@ -20,16 +20,15 @@
 	},
 	"fileServerFolder": ".",
 	"fixturesFolder": "./src/fixtures",
-	"integrationFolder": "./src/integration",
-	"modifyObstructiveCode": false,
-	"pluginsFile": "./src/plugins/index",
-	"supportFile": "./src/support/index.ts",
-	"video": true,
+	"video": false,
 	"videosFolder": "./reports/videos",
 	"screenshotsFolder": "./reports/screenshots",
 	"chromeWebSecurity": false,
 	"reporter": "../../node_modules/cypress-mochawesome-reporter",
 	"defaultCommandTimeout": 10000,
+	"specPattern": "src/e2e/**/*.cy.{js,jsx,ts,tsx}",
+	"supportFile": "src/support/e2e.ts",
+	"testIsolation": false,
 	"reporterOptions": {
 		"html": false,
 		"json": true,
@@ -37,4 +36,4 @@
 		"reportFilename": "report",
 		"overwrite": true
 	}
-}
\ No newline at end of file
+}
diff --git a/goofy-client/apps/goofy-e2e/cypress.config.ts b/goofy-client/apps/goofy-e2e/cypress.config.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9a49dde39416be544323860b89f605015d8f615a
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/cypress.config.ts
@@ -0,0 +1,15 @@
+import { nxE2EPreset } from '@nrwl/cypress/plugins/cypress-preset';
+import { defineConfig } from 'cypress';
+
+const cypressConfig = require('./cypress.config.json');
+const cypressEvents = require('./src/support/cypress-tasks.ts');
+
+export default defineConfig({
+	e2e: {
+		...nxE2EPreset(__dirname),
+		...cypressConfig,
+		setupNodeEvents(on, config) {
+			return cypressEvents(on, config);
+		}
+	},
+});
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/navigation/navigation.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/navigation/navigation.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/navigation/navigation.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-abschliessen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward-fail.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward-fail.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward-fail.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward-fail.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forward.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-forwarding-failed-cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-loeschen-anfordern.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-loeschen-anfordern.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-loeschen-anfordern.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-loeschen-anfordern.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-verwerfen.ea.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-verwerfen.ea.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-verwerfen.ea.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-verwerfen.ea.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-wiedereroeffnen.ea.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-wiedereroeffnen.ea.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-wiedereroeffnen.ea.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-wiedereroeffnen.ea.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-zurueckholen.ea.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-zurueckholen.ea.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-detail/vorgang-zurueckholen.ea.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-detail/vorgang-zurueckholen.ea.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner/vorgang-list/vorgang-list-ea.search.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/accessibility/vorgang-list.spec-e2e.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/accessibility/vorgang-list.spec-e2e.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/accessibility/vorgang-list.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/app/buildinfo.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/app/buildinfo.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/app/buildinfo.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/app/login-logout.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/app/login-logout.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/app/login-logout.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/app/login-logout.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/hint/no-organisations-einheit-id.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/hint/no-organisations-einheit-id.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/hint/no-organisations-einheit-id.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/historie/historie.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/historie/historie.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/historie/historie.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/historie/historie.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-connection-timout.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timout.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-connection-timout.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-connection-timout.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-forbidden.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-forbidden.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-forbidden.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-forbidden.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-server-error.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-server-error.cy.ts
similarity index 98%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-server-error.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-server-error.cy.ts
index bbac0d37ed2ce91377bcd6da2b872ca4e0de9f6a..e57681f1ff5a596a9f12b28123f2e9ffe69f8531 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-server-error.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-server-error.cy.ts
@@ -65,7 +65,6 @@ describe('Interceptor Server Error', () => {
 
 		it('should show page', () => {
 			vorgangList.getListItem(vorgang.name).getRoot().click();
-			waitForSpinnerToDisappear();
 
 			waitOfInterceptor(interceptor).then(interception => {
 				assert(interception.response.statusCode, statusCode.toString());
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-unauthorized.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/interceptor/interceptor-unauthorized.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/interceptor/interceptor-unauthorized.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/kommentar-attachment/kommentar-attachment.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/kommentar-attachment/kommentar-attachment.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/kommentar-attachment/kommentar-attachment.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/kommentar/kommentar.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/kommentar/kommentar.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/kommentar/kommentar.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/endgueltig-loeschen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts
similarity index 96%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/endgueltig-loeschen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts
index f3588c671c47d3c7029f50e2f54434dce166ae86..18eba64a91139e1f089a1ce399f8729e5f95ba9b 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/endgueltig-loeschen.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/endgueltig-loeschen.cy.ts
@@ -105,7 +105,8 @@ describe('Vorgang endgültig löschen', () => {
 		})
 	})
 
-	describe('Endgültig Löschen (ludwig löscht den Vorgang für den die sabine die Löschanforderung gestellt hat)', () => {
+	// TODO Warum exakt derselbe Test nochmal, nur mit objectIds[2] anstelle objectIds[1]?
+	describe.skip('Endgültig Löschen (ludwig löscht den Vorgang für den die sabine die Löschanforderung gestellt hat)', () => {
 
 		before(() => {
 			initVorgang(vorgangZuLoeschen);
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/loesch-anforderung-zuruecknehmen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/loesch-anforderung-zuruecknehmen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/loesch-anforderung-zuruecknehmen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/loesch-anforderung-zuruecknehmen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/loeschen-anfordern.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/loeschen-anfordern.cy.ts
similarity index 98%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/loeschen-anfordern.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/loeschen-anfordern.cy.ts
index 508bb26e33a246af5c956c52ce98f64d3c80dec9..36a11e3c361ee9bc887f01c49d229cf9dfa09a86 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/loesch-anforderung/loeschen-anfordern.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/loesch-anforderung/loeschen-anfordern.cy.ts
@@ -80,275 +80,275 @@ describe('Vorgang Löschen anfordern', () => {
 		before(() => {
 			initVorgaenge([vorgangAbgeschlossenLoeschenAnfordern, vorgangAbgeschlossenLoeschenAnfordernRevoke, vorgangVerworfenLoeschenAnfordern, vorgangVerworfenLoeschenAnfordernRevoke]);
 			initVorgangAttachedItem([wiedervorlageAttachedItem]);
-	
+
 			loginAsSabine();
-	
+
 			waitForSpinnerToDisappear();
 			exist(vorgangList.getRoot());
 		})
-	
+
 		after(() => {
 			dropCollections();
 		})
-	
+
 		describe('Abgeschlossen: löschen anfordern', () => {
-	
+
 			it('Open Vorgang-Detail-Page', () => {
 				vorgangList.getListItem(vorgangAbgeschlossenLoeschenAnfordern.name).getRoot().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangPage.getVorgangDetailHeader().getRoot());
 			})
-	
+
 			describe('by button', () => {
-	
+
 				it('should have status Abgeschlossen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangAbgeschlossenLoeschenAnfordern.status]);
 				})
-	
+
 				it('should click Löschen anfordern button', () => {
 					vorgangFormularButtons.getLoeschenAnfordernButton().click();
 					waitForSpinnerToDisappear();
 				})
-	
+
 				it('should show snackBar message', () => {
 					exist(snackBar.getCloseButton());
 					contains(snackBar.getMessage(), VorgangMessagesE2E.LOESCHEN_ANFORDERN)
 				})
-	
+
 				it('should close snackBar', () => {
 					snackBar.getCloseButton().click();
-	
+
 					notExist(snackBar.getMessage());
 				})
-	
+
 				it('should have status zu Löschen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ZU_LOESCHEN]);
 				})
-	
+
 				it('should redirect Wiedervorlage link to Vorgang', () => {
 					visitUrl(wiedervorlageUrl);
-	
+
 					exist(vorgangPage.getVorgangDetailHeader().getRoot());
 				})
-	
+
 				it('should show snackBar message', () => {
 					exist(snackBar.getCloseButton());
 					contains(snackBar.getMessage(), VorgangMessagesE2E.WIEDERVORLAGE_BEARBEITEN_NICHT_MOEGLICH)
 				})
-	
+
 				it('should close snackBar', () => {
 					snackBar.getCloseButton().click();
-	
+
 					notExist(snackBar.getMessage());
 				})
-	
+
 				it('back to vorgang list', () => {
 					vorgangPage.getSubnavigation().getBackButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(vorgangList.getRoot());
 				})
-	
+
 				it('should have status zu Löschen', () => {
 					haveText(vorgangList.getListItem(vorgangAbgeschlossenLoeschenAnfordern.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ZU_LOESCHEN]);
 				})
 			})
 		})
-	
+
 		describe('Disable functions', () => {
-	
+
 			it('Open Vorgang-Detail-Page', () => {
 				vorgangList.getListItem(vorgangAbgeschlossenLoeschenAnfordern.name).getRoot().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangPage.getVorgangDetailHeader().getRoot());
 			})
-	
+
 			it('should not have add comment button', () => {
 				const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer();
-	
+
 				notExist(kommentarContainer.getHinzufuegenButton());
 			})
-	
+
 			it('should disable edit comment', () => {
 				const kommentarContainer: KommentareInVorgangE2EComponent = vorgangPage.getKommentarContainer();
-	
+
 				notExist(kommentarContainer.getFormular());
 			})
-	
+
 			it('should not have create postfach mail buttons', () => {
 				const postfachMailContainer: PostfachMailE2EComponent = vorgangPage.getPostfachMailcontainer();
-	
+
 				notExist(postfachMailContainer.getCreateButtonWithoutText());
 				notExist(postfachMailContainer.getCreateButtonWithText());
 			})
-	
+
 			it('should not have add wiedervorlage button', () => {
 				const createWiedervorlageButton = vorgangPage.getWiedervorlagenContainer().getCreateWiedervorlageButton();
-	
+
 				notExist(createWiedervorlageButton);
 			})
-	
+
 			it('should disable open Wiedervorlage-Page link ', () => {
 				const wiedervorlageInVorgang: WiedervorlageInVorgangE2EComponent = vorgangPage.getWiedervorlagenContainer().getWiedervorlage('Wiedervorlage');
-	
+
 				notExist(wiedervorlageInVorgang.getLink());
 			})
-	
+
 			it('should not have user assign button', () => {
 				const userProfileContainer: UserProfileE2EComponent = vorgangPage.getVorgangDetailHeader().getUserContainer();
-	
+
 				notExist(userProfileContainer.getRoot());
 			})
-	
+
 			it('back to vorgang list', () => {
 				vorgangPage.getSubnavigation().getBackButton().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangList.getRoot());
 			})
-	
+
 		})
-	
+
 		describe('Abgeschlossen: löschen anfordern und rückgängig machen', () => {
-	
+
 			it('Open Vorgang-Detail-Page', () => {
 				vorgangList.getListItem(vorgangAbgeschlossenLoeschenAnfordernRevoke.name).getRoot().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangPage.getVorgangDetailHeader().getRoot());
 			})
-	
+
 			describe('by icon-button', () => {
-	
+
 				it('should have status Abgeschlossen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangAbgeschlossenLoeschenAnfordernRevoke.status]);
 				})
-	
+
 				it('should show snackBar message', () => {
 					vorgangPage.getSubnavigation().getLoeschenAnfordernByIconButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(snackBar.getCloseButton());
 					contains(snackBar.getMessage(), VorgangMessagesE2E.LOESCHEN_ANFORDERN);
 				})
-	
+
 				it('should close snackbar on revoke', () => {
 					snackBar.getRevokeButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					notExist(snackBar.getMessage());
 				})
-	
+
 				it('should show status Abgeschlossen', () => {
 					notExist(vorgangPage.getProgressBar());
-	
+
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ABGESCHLOSSEN]);
 				})
-	
+
 				it('back to vorgang list', () => {
 					vorgangPage.getSubnavigation().getBackButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(vorgangList.getRoot());
 				})
-	
+
 				it('should have status Abgeschlossen', () => {
 					haveText(vorgangList.getListItem(vorgangAbgeschlossenLoeschenAnfordernRevoke.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ABGESCHLOSSEN])
 				})
 			})
 		})
-	
+
 		describe('Verworfen: löschen anfordern', () => {
-	
+
 			it('Open Vorgang-Detail-Page', () => {
 				vorgangList.getListItem(vorgangVerworfenLoeschenAnfordern.name).getRoot().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangPage.getVorgangDetailHeader().getRoot());
 			})
-	
+
 			describe('by button', () => {
-	
+
 				it('should have status Verworfen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangVerworfenLoeschenAnfordern.status]);
 				})
-	
+
 				it('should show snackBar message', () => {
 					vorgangFormularButtons.getLoeschenAnfordernButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(snackBar.getCloseButton());
 					contains(snackBar.getMessage(), VorgangMessagesE2E.LOESCHEN_ANFORDERN)
 				})
-	
+
 				it('should close snackBar', () => {
 					snackBar.getCloseButton().click();
-	
+
 					notExist(snackBar.getMessage());
 				})
-	
+
 				it('should have status zu Löschen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ZU_LOESCHEN]);
 				})
-	
+
 				it('back to vorgang list', () => {
 					vorgangPage.getSubnavigation().getBackButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(vorgangList.getRoot());
 				})
-	
+
 				it('should have status zu Löschen', () => {
 					haveText(vorgangList.getListItem(vorgangVerworfenLoeschenAnfordern.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.ZU_LOESCHEN]);
 				})
 			})
 		})
-	
+
 		describe('Verworfen: löschen anfordern und rückgängig machen', () => {
-	
+
 			it('Open Vorgang-Detail-Page', () => {
 				vorgangList.getListItem(vorgangVerworfenLoeschenAnfordernRevoke.name).getRoot().click();
 				waitForSpinnerToDisappear();
-	
+
 				exist(vorgangPage.getVorgangDetailHeader().getRoot());
 			})
-	
+
 			describe('by icon-button', () => {
-	
+
 				it('should have status Verworfen', () => {
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[vorgangVerworfenLoeschenAnfordernRevoke.status]);
 				})
-	
+
 				it('should show snackBar message', () => {
 					vorgangPage.getSubnavigation().getLoeschenAnfordernByIconButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(snackBar.getCloseButton());
 					contains(snackBar.getMessage(), VorgangMessagesE2E.LOESCHEN_ANFORDERN);
 				})
-	
+
 				it('should close snackbar on revoke', () => {
 					snackBar.getRevokeButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					notExist(snackBar.getMessage());
 				})
-	
+
 				it('should show status Verworfen', () => {
 					notExist(vorgangPage.getProgressBar());
-	
+
 					haveText(vorgangPage.getVorgangDetailHeader().getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.VERWORFEN]);
 				})
-	
+
 				it('back to vorgang list', () => {
 					vorgangPage.getSubnavigation().getBackButton().click();
 					waitForSpinnerToDisappear();
-	
+
 					exist(vorgangList.getRoot());
 				})
-	
+
 				it('should have status Verworfen', () => {
 					haveText(vorgangList.getListItem(vorgangVerworfenLoeschenAnfordernRevoke.name).getStatus(), vorgangStatusLabelE2E[VorgangStatusE2E.VERWORFEN])
 				})
@@ -357,4 +357,4 @@ describe('Vorgang Löschen anfordern', () => {
 	})
 });
 
-	
+
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/navigation/navigation.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/navigation/navigation.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/navigation/navigation.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/navigation/navigation.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail-error.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail-error.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail-error.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail-error.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-mail.filtered-by-organisationseinheit.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachicht-reply-button.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachicht-reply-button.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachicht-reply-button.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachicht-reply-button.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachricht-authorize-by-role.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachrichten.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/postfach-mail/postfach-nachrichten.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/postfach-mail/postfach-nachrichten.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-current-user-icon.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-current-user-icon.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-current-user-icon.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-assign-unassign.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts
similarity index 98%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-assign-unassign.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts
index e267803ff8184d7680b35e73605a6cd5826aee49..4acfd38edd15da225ef10614c795af3357ebc5d3 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-assign-unassign.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-assign-unassign.cy.ts
@@ -28,7 +28,7 @@ import { UserE2E } from '../../../model/user';
 import { VorgangE2E } from '../../../model/vorgang';
 import { MainPage, waitForSpinnerToDisappear, waitforSpinnerToAppear } from '../../../page-objects/main.po';
 import { VorgangPage } from '../../../page-objects/vorgang.po';
-import { dropCollections } from '../../../support/cypress-helper';
+import { dropCollections, wait } from '../../../support/cypress-helper';
 import { enter, exist, haveText, notExist } from '../../../support/cypress.util';
 import { getUserDorothea, getUserManagerUserDorothea, getUserManagerUserSabine, getUserSabine, initUsermanagerUsers, loginAsSabine } from '../../../support/user-util';
 import { createVorgang, initVorgang } from '../../../support/vorgang-util';
@@ -169,6 +169,7 @@ describe('User Profile im ausgewählten Vorgang', () => {
 				it('should show assign icon', { defaultCommandTimeout: 30000 }, () => {
 					waitForSpinnerToDisappear();
 					// TODO Hier muss aufs Verarbeiten im Backend gewartet werden - oder: wait(500)
+					wait(500);
 					exist(userProfileContainer.getIconContainer().getAssignedIcon());
 					haveText(userProfileContainer.getIconContainer().getAssignedIcon(), userDorothea.initials)
 				})
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-kommentar-error.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-kommentar-error.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-kommentar-error.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-postfach-nachricht-error.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-postfach-nachricht-error.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-postfach-nachricht-error.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-postfach-nachricht-error.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-vorgang-error.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-vorgang-error.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-profile/user-profile-icon-in-vorgang-error.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-profile/user-profile-icon-in-vorgang-error.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/user-settings/user-settings.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/user-settings/user-settings.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/user-settings/user-settings.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-anhang/anhang-herunterladen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-anhang/anhang-herunterladen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-anhang/anhang-herunterladen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-anhang/anhang-herunterladen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-abschliessen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-abschliessen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-abschliessen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-abschliessen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-annehmen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-annehmen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-annehmen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-annehmen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-bearbeiten.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-bearbeiten.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-bearbeiten.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-bearbeiten.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-bescheiden.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-bescheiden.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-bescheiden.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-bescheiden.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-by-role.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht-formdata.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.authorize-by-role.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-detailansicht.filtered-by-organisationseinheit.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-exportieren.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-exportieren.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-exportieren.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-verwerfen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-verwerfen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-verwerfen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-verwerfen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-wiedereroeffnen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-wiedereroeffnen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-wiedereroeffnen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-wiedereroeffnen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-wiedervorlage-loading.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-wiedervorlage-loading.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-wiedervorlage-loading.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-wiedervorlage-loading.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-zurueckholen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckholen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-zurueckholen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckholen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-detailansicht/vorgang-zurueckstellen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list-wiedervorlage/vorgang-list-wiedervorlagen.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-pages.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-pages.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pages.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-pagination.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pagination.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-pagination.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-pagination.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-views-pages.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list-views-pages.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list-views-pages.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts
similarity index 99%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts
index ac4f926faa23319149791317810064025a860a93..1e7f6eb1e7c108eeb80bba03550c68078ed89a36 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-list.search.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-list.search.cy.ts
@@ -172,8 +172,6 @@ describe('VorgangList Suche', () => {
 
 			it('should navigate back to list', () => {
 				vorgangPage.getSubnavigation().getBackButton().click();
-				exist(vorgangPage.getSpinner());
-				waitForSpinnerToDisappear();
 
 				exist(vorgangList.getRoot());
 			})
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-view-wiedervorlagen.pages.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-views-filter.spec-e2e.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-list/vorgang-views-filter.spec-e2e.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-list/vorgang-views-filter.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-wiedervorlage/vorgang-wiedervorlage.routing.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-wiedervorlage/vorgang-wiedervorlage.routing.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-wiedervorlage/vorgang-wiedervorlage.routing.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-wiedervorlage/vorgang-wiedervorlage.routing.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-wiedervorlage/vorgang.wiedervorlage-list.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-wiedervorlage/vorgang.wiedervorlage-list.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/vorgang-wiedervorlage/vorgang.wiedervorlage-list.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/vorgang-wiedervorlage/vorgang.wiedervorlage-list.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts
similarity index 97%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts
index f3f81417223f0b351ef9711bd9644e8a644960e1..8d25b11950bd3be02aa1dd0048245a2a7b732985 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage-attachment/wiedervorlage-attachment.cy.ts
@@ -25,14 +25,14 @@ import { AttachmentContainerE2EComponent, AttachmentListE2EComponent } from 'app
 import { WiedervorlageSubnavigationE2EComponent } from 'apps/goofy-e2e/src/components/wiedervorlage/wiedervorlage-subnavigation';
 import { BinaryFileSnackbarMessageE2E } from 'apps/goofy-e2e/src/model/binary-file';
 import { WiedervorlageE2E } from 'apps/goofy-e2e/src/model/wiedervorlage';
-import { dropCollections, readFileFromDownloads } from 'apps/goofy-e2e/src/support/cypress-helper';
+import { dropCollections, readFileFromDownloads, wait } from 'apps/goofy-e2e/src/support/cypress-helper';
 import { initVorgangAttachedItem } from 'apps/goofy-e2e/src/support/vorgang-attached-item-util';
 import { SnackBarE2EComponent } from '../../../components/ui/snackbar.e2e.component';
 import { VorgangListE2EComponent } from '../../../components/vorgang/vorgang-list.e2e.component';
 import { WiedervorlageInVorgangE2EComponent } from '../../../components/wiedervorlage/wiedervorlage-in-vorgang.e2e.component';
 import { WiedervorlageE2EComponent } from '../../../components/wiedervorlage/wiedervorlage-page.e2e.component';
 import { VorgangE2E } from '../../../model/vorgang';
-import { MainPage, waitForSpinnerToDisappear, waitforSpinnerToAppear } from '../../../page-objects/main.po';
+import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
 import { VorgangPage } from '../../../page-objects/vorgang.po';
 import { WiedervorlagePage } from '../../../page-objects/wiedervorlage.po';
 import { containClass, contains, exist, haveLength, notContainClass, notExist } from '../../../support/cypress.util';
@@ -233,9 +233,9 @@ describe('Wiedervorlage attachments', () => {
 		const wiedervorlageComp: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(WIEDERVORLAGE_WITH_ATTACHMENTS_BETREFF);
 
 		it('should open wiedervorlage page', () => {
+			wait(500);
 			wiedervorlageComp.getLink().click();
 
-			waitforSpinnerToAppear();
 			waitForSpinnerToDisappear();
 
 			exist(attachmentList.getItem(TEST_FILE_WITH_CONTENT).getRoot());
@@ -244,7 +244,6 @@ describe('Wiedervorlage attachments', () => {
 		it('should mark as erledigt', () => {
 			subnavigation.erledigen();
 
-			waitforSpinnerToAppear();
 			waitForSpinnerToDisappear();
 
 			containClass(wiedervorlageContainer.getStatusDot(), 'erledigt');
@@ -260,7 +259,6 @@ describe('Wiedervorlage attachments', () => {
 		it('should mark as open', () => {
 			subnavigation.wiedereroeffnen();
 
-			waitforSpinnerToAppear();
 			waitForSpinnerToDisappear();
 
 			notContainClass(wiedervorlageContainer.getStatusDot(), 'erledigt');
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts
similarity index 100%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage-authorize-by-role.cy.ts
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts
similarity index 99%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts
index bf77d79dacff2e909c12074011363e1d445e68b4..45c8b354131803e75927e39787f1909a53eb8eb0 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.cy.ts
@@ -33,7 +33,7 @@ import { VorgangE2E } from '../../../model/vorgang';
 import { MainPage, waitForSpinnerToDisappear } from '../../../page-objects/main.po';
 import { VorgangPage } from '../../../page-objects/vorgang.po';
 import { WiedervorlagePage } from '../../../page-objects/wiedervorlage.po';
-import { dropCollections } from '../../../support/cypress-helper';
+import { dropCollections, wait } from '../../../support/cypress-helper';
 import { exist, haveText, haveValue, notExist } from '../../../support/cypress.util';
 import { MessagesE2E } from '../../../support/messages';
 import { formatDateLocal } from '../../../support/tech.util';
@@ -165,6 +165,7 @@ describe('Wiedervorlage', () => {
 		it('should open Wiedervorlage-Page by click on wiedervorlage ', () => {
 			const wiedervorlageInVorgang: WiedervorlageInVorgangE2EComponent = vorgangPage.getWiedervorlagenContainer().getWiedervorlage(wiedervorlageBetreff);
 
+			wait(500);
 			wiedervorlageInVorgang.getLink().click();
 			waitForSpinnerToDisappear();
 
diff --git a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.erledigen.e2e-spec.ts b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts
similarity index 99%
rename from goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.erledigen.e2e-spec.ts
rename to goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts
index 000e8fb12d3357f5360bc3cc3f00678a289a0c65..f9a7d8593f4e6a546c4c9e12a312b9290be4df5b 100644
--- a/goofy-client/apps/goofy-e2e/src/integration/main-tests/wiedervorlage/wiedervorlage.erledigen.e2e-spec.ts
+++ b/goofy-client/apps/goofy-e2e/src/e2e/main-tests/wiedervorlage/wiedervorlage.erledigen.cy.ts
@@ -98,6 +98,7 @@ describe('Wiedervorlage erledigen/wiedereroeffnen', () => {
 		it('should open wiedervorlage on click', () => {
 			exist(wiedervorlage.getRoot());
 
+			wait(500);
 			wiedervorlage.getLink().click();
 			waitForSpinnerToDisappear();
 
@@ -135,7 +136,7 @@ describe('Wiedervorlage erledigen/wiedereroeffnen', () => {
 		const wiedervorlage: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlageZumWiedereroeffnen.betreff);
 
 		it('should open wiedervorlage on click', () => {
-			wait(1000);
+			wait(500);
 			wiedervorlage.getLink().click();
 			waitForSpinnerToDisappear();
 
@@ -173,6 +174,7 @@ describe('Wiedervorlage erledigen/wiedereroeffnen', () => {
 		const wiedervorlage: WiedervorlageInVorgangE2EComponent = wiedervorlageContainerInVorgang.getWiedervorlage(wiedervorlageZumWiedereroeffnen.betreff);
 
 		it('should open wiedervorlage on click', () => {
+			wait(500);
 			wiedervorlage.getLink().click();
 
 			waitForSpinnerToDisappear();
@@ -277,6 +279,7 @@ describe('Wiedervorlage erledigen/wiedereroeffnen', () => {
 		})
 
 		it('should mark as erledigt', () => {
+			wait(500);
 			wiedervorlage.getLink().click();
 			waitForSpinnerToDisappear();
 			subnavigation.erledigen();
diff --git a/goofy-client/apps/goofy-e2e/src/support/angular.util.ts b/goofy-client/apps/goofy-e2e/src/support/angular.util.ts
index bfc1ff64f8ad191f701556c11f5d6c7d26595945..27c4f58ca783429f3ead8a3ba2eb0d4a7fa062f9 100644
--- a/goofy-client/apps/goofy-e2e/src/support/angular.util.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/angular.util.ts
@@ -28,7 +28,7 @@ export const TOGGLE_ELEMENT: string = 'mat-slide-toggle';
 enum AngularClassesE2E {
 	MAT_CHECKED = 'mat-mdc-slide-toggle-checked',
 	MAT_BUTTONG_TOGGLE_CHECKED = 'mat-button-toggle-checked',
-	MAT_FOCUSED = 'cdk-focused',
+	MAT_FOCUSED = 'mat-focused',
 	CDK_KEYBOARD_FOCUSED = 'cdk-keyboard-focused'
 }
 
diff --git a/goofy-client/apps/goofy-e2e/src/support/commands.ts b/goofy-client/apps/goofy-e2e/src/support/commands.ts
index b471f61dedb7e41b8cb8a347fae48748cb85d269..7ee49c952b9212d5f85a12852ec954b71951e011 100644
--- a/goofy-client/apps/goofy-e2e/src/support/commands.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/commands.ts
@@ -1,3 +1,4 @@
+
 /*
  * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
  * Ministerpräsidenten des Landes Schleswig-Holstein
@@ -21,6 +22,53 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
+enum HttpMethod {
+	POST = 'POST',
+	GET = 'GET'
+}
+
+interface HttpHeader {
+	[headerKey: string]: string
+}
+
+const DATA_TEST_ID: string = 'data-test-id';
+const DATA_TEST_CLASS: string = 'data-test-class';
+
+const ACCES_TOKEN: string = 'access_token';
+const ID_TOKEN: string = 'id_token';
+
+enum Header {
+	CONTENT_TYPE = 'Content-Type',
+	AUTHORIZATION = 'Authorization'
+}
+
+const CYPRESS_CONFIG_BASE_URL: unknown = 'baseUrl';
+
+enum CypressEnv {
+	KEYCLOAK_CLIENT = 'keycloakClient',
+	KEYCLOAK_REALM = 'keycloakRealm',
+	KEYCLOAK_URL = 'keycloakUrl',
+	SEARCH = 'search'
+}
+
+const CONTENT_TYPE_HEADER_VALUE: string = 'application/x-www-form-urlencoded';
+
+interface SearchIndex {
+	vorgangId: string,
+	vorgangName: string,
+	vorgangNummer: string,
+	createdAt: string,
+	antragstellerName: string,
+	antragstellerVorname: string,
+	status: string,
+	organisationseinheitenId: string,
+	aktenzeichen: string,
+	assignedTo: string,
+	_class: string
+}
+
+const SEARCH_INDEX_CLASS: string = 'de.itvsh.ozg.pluto.common.search.IndexedVorgang';
+
 declare namespace Cypress {
 	interface Chainable<Subject> {
 		getTestElementWithOid(oid: string, ...args);
@@ -36,12 +84,13 @@ declare namespace Cypress {
 	}
 }
 
+
 Cypress.Commands.add('getTestElement', (selector, ...args) => {
-	return cy.get(`[data-test-id~="${selector}"]`, ...args)
+	return cy.get(`[${DATA_TEST_ID}~="${selector}"]`, ...args)
 })
 
 Cypress.Commands.add('getTestElementWithClass', (selector, ...args) => {
-	return cy.get(`[data-test-class="${selector}"]`, ...args)
+	return cy.get(`[${DATA_TEST_CLASS}="${selector}"]`, ...args)
 })
 
 Cypress.Commands.add('getTestElementWithOid', (oid, ...args) => {
@@ -49,63 +98,73 @@ Cypress.Commands.add('getTestElementWithOid', (oid, ...args) => {
 })
 
 Cypress.Commands.add('findTestElementWithClass', { prevSubject: true }, (subject: any, selector) => {
-	return subject.find(`[data-test-class="${selector}"]`)
+	return subject.find(`[${DATA_TEST_CLASS}="${selector}"]`)
 })
 
 Cypress.Commands.add('findElement', { prevSubject: true }, (subject: any, selector) => {
 	return subject.find(selector);
 })
 
-Cypress.Commands.add('login', (user, password) => {
-	cy.logout();
+Cypress.Commands.add('login', (user: string, password: string) => {
+	cy.session(user, () => {
+		cy.request(buildLoginRequest(user, password)).then(response => handleLoginResponse(response));
+	});
+})
 
-	cy.request({
-		method: 'POST',
+function buildLoginRequest(user: string, password: string): any {
+	return {
+		method: HttpMethod.POST,
 		followRedirect: false,
 		url: `${getKeycloakBaseRealmUrl()}/token`,
 		headers: {
-			'Content-Type': 'application/x-www-form-urlencoded'
+			[Header.CONTENT_TYPE]: CONTENT_TYPE_HEADER_VALUE
 		},
-		body: {
-			client_id: Cypress.env('keycloakClient'),
-			username: user,
-			password: password,
-			grant_type: 'password',
-			redirect_uri: Cypress.config('baseUrl'),
-			response_mode: 'fragment',
-			response_type: 'code',
-			scope: 'openid'
-		}
-	}).then(response => {
-		const token = response.body.access_token;
-		const authorization: any = `bearer ${token}`;
+		body: buildLoginRequestBody(user, password)
+	}
+}
 
-		cy.visit('', authorization);
+function buildLoginRequestBody(user: string, password: string): any {
+	return {
+		client_id: Cypress.env(CypressEnv.KEYCLOAK_CLIENT),
+		username: user,
+		password: password,
+		grant_type: 'password',
+		redirect_uri: Cypress.config(CYPRESS_CONFIG_BASE_URL),
+		response_mode: 'fragment',
+		response_type: 'code',
+		scope: 'openid'
+	}
+}
 
-		window.sessionStorage.setItem('access_token', token);
-		window.sessionStorage.setItem('id_token', token);
-	});
-})
+function handleLoginResponse(response): void {
+	const authorization: any = `bearer ${response.body.access_token}`;
+	cy.visit('', authorization);
+
+	window.sessionStorage.setItem(ACCES_TOKEN, response.body.access_token);
+	window.sessionStorage.setItem(ID_TOKEN, response.body.id_token);
+
+	cy.setCookie('XSRF-TOKEN', response.body.session_state);
+}
 
 Cypress.Commands.add('getUserInfo', () => {
 	return cy.request({
-		method: 'GET',
+		method: HttpMethod.GET,
 		url: `${getKeycloakBaseRealmUrl()}/userinfo`,
 		headers: {
-			Authorization: `bearer ${window.sessionStorage.getItem('access_token')}`
+			[Header.AUTHORIZATION]: `bearer ${window.sessionStorage.getItem(ACCES_TOKEN)}`
 		}
 	});
 })
 
 Cypress.Commands.add('logout', () => {
 	cy.request({
-		method: 'GET',
+		method: HttpMethod.GET,
 		url: `${getKeycloakBaseRealmUrl()}/logout`,
 		headers: {
-			'Content-Type': 'application/x-www-form-urlencoded'
+			[Header.CONTENT_TYPE]: CONTENT_TYPE_HEADER_VALUE
 		},
 		body: {
-			refresh_token: window.sessionStorage.getItem('id_token')
+			refresh_token: window.sessionStorage.getItem(ID_TOKEN)
 		},
 		failOnStatusCode: false
 	}).then(() => {
@@ -116,62 +175,62 @@ Cypress.Commands.add('logout', () => {
 })
 
 function getKeycloakBaseRealmUrl(): string {
-	return `${Cypress.env('keycloakUrl')}realms/${Cypress.env('keycloakRealm')}/protocol/openid-connect`;
+	return `${Cypress.env(CypressEnv.KEYCLOAK_URL)}realms/${Cypress.env(CypressEnv.KEYCLOAK_REALM)}/protocol/openid-connect`;
 }
 
 Cypress.Commands.add('addVorgangToSearchIndex', (vorgang) => {
 	cy.request({
-		method: 'POST',
+		method: HttpMethod.POST,
 		url: `${buildSearchIndexPostUrl()}/_doc/${vorgang._id.$oid}`,
 		headers: buildAuthorizationHeader(),
 		body: buildSearchIndexBody(vorgang)
 	});
 })
 
-function buildSearchIndexBody(vorgang) {
+function buildSearchIndexBody(vorgang: any): SearchIndex {
 	return {
-		'_class': 'de.itvsh.ozg.pluto.common.search.IndexedVorgang',
-		'vorgangId': vorgang._id.$oid,
-		'vorgangName': vorgang.name,
-		'vorgangNummer': vorgang.nummer,
-		'createdAt': vorgang.createdAt.$date,
-		'antragstellerName': vorgang.eingangs[0].antragsteller.nachname,
-		'antragstellerVorname': vorgang.eingangs[0].antragsteller.vorname,
-		'status': vorgang.status,
-		'organisationseinheitenId': vorgang.eingangs[0].zustaendigeStelle.organisationseinheitenId,
-		'aktenzeichen': vorgang.aktenzeichen,
-		'assignedTo': vorgang.assignedTo
+		vorgangId: vorgang._id.$oid,
+		vorgangName: vorgang.name,
+		vorgangNummer: vorgang.nummer,
+		createdAt: vorgang.createdAt.$date,
+		antragstellerName: vorgang.eingangs[0].antragsteller.nachname,
+		antragstellerVorname: vorgang.eingangs[0].antragsteller.vorname,
+		status: vorgang.status,
+		organisationseinheitenId: vorgang.eingangs[0].zustaendigeStelle.organisationseinheitenId,
+		aktenzeichen: vorgang.aktenzeichen,
+		assignedTo: vorgang.assignedTo,
+		_class: SEARCH_INDEX_CLASS,
 	};
 }
 
 Cypress.Commands.add('removeAllDocumentsFromSearchIndex', () => {
 	cy.request({
-		method: 'POST',
+		method: HttpMethod.POST,
 		url: `${buildSearchIndexPostUrl()}/_delete_by_query`,
 		headers: buildAuthorizationHeader(),
 		body: buildSearchIndexRemoveAllBody()
 	});
 })
 
-function buildSearchIndexPostUrl() {
-	const searchEnv = getSearchEnv();
+function buildSearchIndexPostUrl(): string {
+	const searchEnv: string = getSearchEnv();
 	return `${searchEnv['url']}/${searchEnv['index']}`;
 }
 
-function buildAuthorizationHeader() {
-	return { 'Authorization': `Basic ${buildToken()}` };
+function buildAuthorizationHeader(): HttpHeader {
+	return { [Header.AUTHORIZATION]: `Basic ${buildToken()}` };
 }
 
-function buildToken() {
-	const searchEnv = getSearchEnv();
+function buildToken(): string {
+	const searchEnv: string = getSearchEnv();
 	return btoa(`${searchEnv['user']}:${searchEnv['password']}`);
 }
 
-function getSearchEnv() {
-	return Cypress.env('search');
+function getSearchEnv(): string {
+	return Cypress.env(CypressEnv.SEARCH);
 }
 
-function buildSearchIndexRemoveAllBody() {
+function buildSearchIndexRemoveAllBody(): any {
 	return {
 		'query': {
 			'match_all': {}
diff --git a/goofy-client/apps/goofy-e2e/src/plugins/index.js b/goofy-client/apps/goofy-e2e/src/support/cypress-tasks.ts
similarity index 77%
rename from goofy-client/apps/goofy-e2e/src/plugins/index.js
rename to goofy-client/apps/goofy-e2e/src/support/cypress-tasks.ts
index 9067346ec0edddf16dbf03231458902863ac2cb2..6c6806b83b7e4cd4e2d8dbfcd48976a506dc6774 100644
--- a/goofy-client/apps/goofy-e2e/src/plugins/index.js
+++ b/goofy-client/apps/goofy-e2e/src/support/cypress-tasks.ts
@@ -1,49 +1,8 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-/// <reference types="cypress" />
-// ***********************************************************
-// This example plugins/index.js can be used to load plugins
-//
-// You can change the location of this file or turn off loading
-// the plugins file with the 'pluginsFile' configuration option.
-//
-// You can read more here:
-// https://on.cypress.io/plugins-guide
-// ***********************************************************
-
-// This function is called when a project is opened or re-opened (e.g. due to
-// the project's config changing)
-
-/**
- * @type {Cypress.PluginConfig}
- */
-const MongoClient = require('mongodb').MongoClient;
+import { Long, MongoClient, ObjectId } from 'mongodb';
+
 const Binary = require('mongodb').Binary;
-const ObjectId = require('mongodb').ObjectId;
-const Long = require('mongodb').Long;
 
-module.exports = (on, config) => {
+module.exports = (on: any, config: any) => {
 	on('task', {
 		initCommandData({collection, data}) {
 			console.log('initCommandData');
@@ -98,32 +57,32 @@ module.exports = (on, config) => {
 	// Lösung:
 	//   - NPM-Paket identifizieren, dass "SystemDateTimeProvider" enthält.
 	//   - NPM-Paket im "test" Attribut unten hinzufügen.
-    const webpackPreprocessor = require('@cypress/webpack-batteries-included-preprocessor');
-    const webpackOptions = webpackPreprocessor.defaultOptions.webpackOptions;
-
-    webpackOptions.module.rules.unshift({
-        test: /[/\\](@angular|@ngxp|angular-oauth2-oidc)[/\\].+\.m?js$/,
-        resolve: {
-            fullySpecified: false,
-        },
-        use: {
-            loader: 'babel-loader',
-            options: {
-                plugins: ['@angular/compiler-cli/linker/babel'],
-                compact: false,
-                cacheDirectory: true
-            }
-        }
-    });
-
-    on('file:preprocessor', webpackPreprocessor({
-        webpackOptions: webpackOptions,
-        typescript: require.resolve('typescript')
-    }));
-
-    return config;
+	const webpackPreprocessor = require('@cypress/webpack-batteries-included-preprocessor');
+	const webpackOptions = webpackPreprocessor.defaultOptions.webpackOptions;
+
+	webpackOptions.module.rules.unshift({
+		test: /[/\\](@angular|@ngxp|angular-oauth2-oidc)[/\\].+\.m?js$/,
+		resolve: {
+			fullySpecified: false,
+		},
+		use: {
+			loader: 'babel-loader',
+			options: {
+				plugins: ['@angular/compiler-cli/linker/babel'],
+				compact: false,
+				cacheDirectory: true
+			}
+		}
+	});
+
+	on('file:preprocessor', webpackPreprocessor({
+		webpackOptions: webpackOptions,
+		typescript: require.resolve('typescript')
+	}));
+
+	return config;
 	// Ende - Workaround für Angular 13 und Cypress mit Webpack 4
-};
+}
 
 function parseCommandData(commands) {
 	commands.forEach(command => parseCommand(command))
diff --git a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts b/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts
index 3a7e7d5170a0d442ac2272f1082c2f440ada2ca4..b836197cd6fcb9e10772e25c8b9ec86c7d9c606d 100644
--- a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts
@@ -21,6 +21,6 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-const fs = require('fs')
+import * as fs from 'fs';
 
 fs.rmdirSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}`, { recursive: true });
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/support/index.ts b/goofy-client/apps/goofy-e2e/src/support/e2e.ts
similarity index 92%
rename from goofy-client/apps/goofy-e2e/src/support/index.ts
rename to goofy-client/apps/goofy-e2e/src/support/e2e.ts
index 3648b5106f64d556365991da18f0c4054d5c2cd8..dfe690bf49b054326bcc103a14ee37e6f209efdb 100644
--- a/goofy-client/apps/goofy-e2e/src/support/index.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/e2e.ts
@@ -43,28 +43,26 @@ import 'cypress-timestamps/support';
 import './commands';
 import './file-upload';
 
-Cypress.Cookies.defaults({
-	preserve: ['XSRF-TOKEN', 'session_id']
-})
-
 Cypress.on('command:start', ({ attributes }) => {
 	if (attributes.type === 'parent') {
-		Cypress.log({ name: `${new Date().toISOString()} - ${attributes.name}` });
+		Cypress.log({
+			name: `${new Date().toISOString()} - ${attributes.name}`,
+		});
 	}
-})
+});
 
 Cypress.on('after:screenshot', ({ testFailure, takenAt }) => {
 	if (testFailure) {
 		console.log(`Error at: ${takenAt}`);
 	}
-})
+});
 
 Cypress.on('fail', (err) => {
 	console.error(err);
 	err.message = new Date().toISOString() + '\n' + err.message;
 	throw err;
-})
+});
 
 Cypress.Keyboard.defaults({
 	keystrokeDelay: 30,
-})
\ No newline at end of file
+});
diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts
index 656abb5c66310317a87aa181d77a0c6ed3838a8a..a73634273e24cc94aee5faa9523cc525a46a99d1 100644
--- a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts
@@ -21,8 +21,10 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-const fs = require('fs')
+import * as fs from 'fs';
 
-if (fs.existsSync('apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons')) {
-	fs.rename('apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons', 'apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/jsons', () => { })
+const EINHEITLICHER_ANSPRECHPARTNER_REPORT_FOLDER: string = 'apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report';
+
+if (fs.existsSync(`${EINHEITLICHER_ANSPRECHPARTNER_REPORT_FOLDER}/.jsons`)) {
+	fs.rename(`${EINHEITLICHER_ANSPRECHPARTNER_REPORT_FOLDER}/.jsons`, `${EINHEITLICHER_ANSPRECHPARTNER_REPORT_FOLDER}/jsons`, () => { })
 }
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts
index 710c4513d9884794cf3050d31326c01490336a34..3f19606e7ee3ab96d3a52a164e9e75024361c648 100644
--- a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts
+++ b/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts
@@ -21,8 +21,10 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-const fs = require('fs')
+import * as fs from 'fs';
 
-if (fs.existsSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`)) {
-	fs.rename(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`, `apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/jsons`, () => { })
+const MAIN_TEST_REPORT_FOLDER: string = `apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report`;
+
+if (fs.existsSync(`${MAIN_TEST_REPORT_FOLDER}/.jsons`)) {
+	fs.rename(`${MAIN_TEST_REPORT_FOLDER}/.jsons`, `${MAIN_TEST_REPORT_FOLDER}/jsons`, () => { })
 }
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/tsconfig.e2e.json b/goofy-client/apps/goofy-e2e/tsconfig.e2e.json
deleted file mode 100644
index 9dc3660a79ee2f6daf097b4930427223896e3b25..0000000000000000000000000000000000000000
--- a/goofy-client/apps/goofy-e2e/tsconfig.e2e.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "extends": "./tsconfig.json",
-  "compilerOptions": {
-    "sourceMap": false,
-    "outDir": "../../dist/out-tsc",
-    "allowJs": true,
-    "types": ["cypress", "node"]
-  },
-  "include": ["src/**/*.ts", "src/**/*.js"]
-}
diff --git a/goofy-client/apps/goofy-e2e/tsconfig.json b/goofy-client/apps/goofy-e2e/tsconfig.json
index 4d866746dae60576fad661bfa3985ab75aa31ca4..2cdee4db8b30c135503582f5274a1387ec8cd70c 100644
--- a/goofy-client/apps/goofy-e2e/tsconfig.json
+++ b/goofy-client/apps/goofy-e2e/tsconfig.json
@@ -1,16 +1,28 @@
 {
-  "extends": "../../tsconfig.base.json",
-  "files": [],
-  "include": ["**/*.ts"],
-  "compilerOptions": {
-	"sourceMap": false,
-	"target": "es2020",
-	"lib": ["es2018", "dom"],
-	"types": ["cypress", "cypress-real-events"]
-  },
-  "references": [
-    {
-      "path": "./tsconfig.e2e.json"
-    }
-  ]
-}
\ No newline at end of file
+	"extends": "../../tsconfig.base.json",
+	"compilerOptions": {
+		"sourceMap": false,
+		"outDir": "../dist/out-tsc",
+		"allowJs": true,
+		"types": ["cypress", "node"],
+		"forceConsistentCasingInFileNames": true,
+		"strict": false,
+		"noImplicitOverride": true,
+		"noPropertyAccessFromIndexSignature": true,
+		"noImplicitReturns": true,
+		"noFallthroughCasesInSwitch": true
+	},
+	"include": [
+		"src/**/*.ts",
+		"src/**/*.js",
+		"cypress.config.ts",
+		"cypress-ci-main-tests.config.ts",
+		"cypress-ci-einheitlicher-ansprechpartner.config.ts"
+	],
+	"angularCompilerOptions": {
+		"enableI18nLegacyMessageIdFormat": false,
+		"strictInjectionParameters": true,
+		"strictInputAccessModifiers": true,
+		"strictTemplates": true
+	}
+}
diff --git a/goofy-client/libs/ui/src/lib/ui/fixed-dialog/_fixed-dialog.theme.scss b/goofy-client/libs/ui/src/lib/ui/fixed-dialog/_fixed-dialog.theme.scss
index 677a82fcb5b52c9f5a4e0f62ada552b952b702bd..0b4c18dfae3bbfe602477119799a5a2b7bee7b18 100644
--- a/goofy-client/libs/ui/src/lib/ui/fixed-dialog/_fixed-dialog.theme.scss
+++ b/goofy-client/libs/ui/src/lib/ui/fixed-dialog/_fixed-dialog.theme.scss
@@ -73,7 +73,7 @@
 				min-height: initial;
 				overflow: hidden;
 				margin: 0;
-				padding: 0;
+				padding: 0 !important;
 
 				.button-bar-bottom {
 					height: 0;
diff --git a/goofy-client/package-lock.json b/goofy-client/package-lock.json
index 10b14ffa4b27a46ef2939f8e675a77ce7c43d90c..074bbe3cfcfe0c4c305618a47036766f2b993842 100644
--- a/goofy-client/package-lock.json
+++ b/goofy-client/package-lock.json
@@ -50,8 +50,8 @@
 				"@angular/compiler-cli": "15.1.4",
 				"@angular/language-service": "15.1.4",
 				"@bahmutov/cypress-extends": "1.1.0",
-				"@cypress/webpack-batteries-included-preprocessor": "^2.3.0",
-				"@cypress/webpack-preprocessor": "^5.16.3",
+				"@cypress/webpack-batteries-included-preprocessor": "^2.4.1",
+				"@cypress/webpack-preprocessor": "^5.17.1",
 				"@faker-js/faker": "^6.3.1",
 				"@ngrx/schematics": "15.0.0",
 				"@ngrx/store-devtools": "15.0.0",
@@ -68,10 +68,10 @@
 				"@types/node": "^16.18.1",
 				"@typescript-eslint/eslint-plugin": "5.44.0",
 				"@typescript-eslint/parser": "5.44.0",
-				"cypress": "^9.7.0",
+				"cypress": "^12.17.4",
 				"cypress-file-upload": "5.0.8",
-				"cypress-mochawesome-reporter": "3.3.0",
-				"cypress-real-events": "^1.7.6",
+				"cypress-mochawesome-reporter": "3.6.0",
+				"cypress-real-events": "^1.10.3",
 				"cypress-timestamps": "^1.2.3",
 				"eslint": "8.15.0",
 				"eslint-config-prettier": "8.3.0",
@@ -3341,9 +3341,9 @@
 			}
 		},
 		"node_modules/@cypress/request": {
-			"version": "2.88.11",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/request/-/request-2.88.11.tgz",
-			"integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==",
+			"version": "2.88.12",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/request/-/request-2.88.12.tgz",
+			"integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==",
 			"devOptional": true,
 			"license": "Apache-2.0",
 			"dependencies": {
@@ -3362,7 +3362,7 @@
 				"performance-now": "^2.1.0",
 				"qs": "~6.10.3",
 				"safe-buffer": "^5.1.2",
-				"tough-cookie": "~2.5.0",
+				"tough-cookie": "^4.1.3",
 				"tunnel-agent": "^0.6.0",
 				"uuid": "^8.3.2"
 			},
@@ -4347,9 +4347,9 @@
 			"license": "ISC"
 		},
 		"node_modules/@cypress/webpack-preprocessor": {
-			"version": "5.17.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz",
-			"integrity": "sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA==",
+			"version": "5.17.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.1.tgz",
+			"integrity": "sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
@@ -9053,9 +9053,9 @@
 			"license": "MIT"
 		},
 		"node_modules/@types/node": {
-			"version": "16.18.23",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-16.18.23.tgz",
-			"integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==",
+			"version": "16.18.54",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-16.18.54.tgz",
+			"integrity": "sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA==",
 			"license": "MIT"
 		},
 		"node_modules/@types/parse-json": {
@@ -11200,6 +11200,14 @@
 			"dev": true,
 			"license": "BSD-2-Clause"
 		},
+		"node_modules/browser-stdout": {
+			"version": "1.3.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/browser-stdout/-/browser-stdout-1.3.1.tgz",
+			"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+			"dev": true,
+			"license": "ISC",
+			"peer": true
+		},
 		"node_modules/browserify-aes": {
 			"version": "1.2.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/browserify-aes/-/browserify-aes-1.2.0.tgz",
@@ -11550,9 +11558,9 @@
 			}
 		},
 		"node_modules/caniuse-lite": {
-			"version": "1.0.30001474",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz",
-			"integrity": "sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==",
+			"version": "1.0.30001539",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001539.tgz",
+			"integrity": "sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA==",
 			"funding": [
 				{
 					"type": "opencollective",
@@ -12046,9 +12054,9 @@
 			}
 		},
 		"node_modules/commander": {
-			"version": "5.1.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-5.1.0.tgz",
-			"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+			"version": "6.2.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-6.2.1.tgz",
+			"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
 			"devOptional": true,
 			"license": "MIT",
 			"engines": {
@@ -13069,16 +13077,16 @@
 			"license": "MIT"
 		},
 		"node_modules/cypress": {
-			"version": "9.7.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress/-/cypress-9.7.0.tgz",
-			"integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==",
+			"version": "12.17.4",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress/-/cypress-12.17.4.tgz",
+			"integrity": "sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ==",
 			"devOptional": true,
 			"hasInstallScript": true,
 			"license": "MIT",
 			"dependencies": {
-				"@cypress/request": "^2.88.10",
+				"@cypress/request": "2.88.12",
 				"@cypress/xvfb": "^1.2.4",
-				"@types/node": "^14.14.31",
+				"@types/node": "^16.18.39",
 				"@types/sinonjs__fake-timers": "8.1.1",
 				"@types/sizzle": "^2.3.2",
 				"arch": "^2.2.0",
@@ -13090,12 +13098,12 @@
 				"check-more-types": "^2.24.0",
 				"cli-cursor": "^3.1.0",
 				"cli-table3": "~0.6.1",
-				"commander": "^5.1.0",
+				"commander": "^6.2.1",
 				"common-tags": "^1.8.0",
 				"dayjs": "^1.10.4",
-				"debug": "^4.3.2",
+				"debug": "^4.3.4",
 				"enquirer": "^2.3.6",
-				"eventemitter2": "^6.4.3",
+				"eventemitter2": "6.4.7",
 				"execa": "4.1.0",
 				"executable": "^4.1.1",
 				"extract-zip": "2.0.1",
@@ -13108,12 +13116,13 @@
 				"listr2": "^3.8.3",
 				"lodash": "^4.17.21",
 				"log-symbols": "^4.0.0",
-				"minimist": "^1.2.6",
+				"minimist": "^1.2.8",
 				"ospath": "^1.2.2",
 				"pretty-bytes": "^5.6.0",
+				"process": "^0.11.10",
 				"proxy-from-env": "1.0.0",
 				"request-progress": "^3.0.0",
-				"semver": "^7.3.2",
+				"semver": "^7.5.3",
 				"supports-color": "^8.1.1",
 				"tmp": "~0.2.1",
 				"untildify": "^4.0.0",
@@ -13123,7 +13132,7 @@
 				"cypress": "bin/cypress"
 			},
 			"engines": {
-				"node": ">=12.0.0"
+				"node": "^14.0.0 || ^16.0.0 || >=18.0.0"
 			}
 		},
 		"node_modules/cypress-file-upload": {
@@ -13140,17 +13149,21 @@
 			}
 		},
 		"node_modules/cypress-mochawesome-reporter": {
-			"version": "3.3.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.3.0.tgz",
-			"integrity": "sha512-X4HU1JpuB62MXLh46660KmIs/L6noWV2KpxaXPDorz1zwgj26NN+BPCLP80D9cCFUwX3hNH0pKFZDwVR7vM8wg==",
+			"version": "3.6.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.6.0.tgz",
+			"integrity": "sha512-NeYpeZVB5YCU10I3a1yA2qHt+YREo0jZw4Gj83JTJ7YX/ZLFfd8MYKl2O19d/yYC8np/fpMufp5gt3ympd9DWQ==",
 			"dev": true,
 			"license": "MIT",
 			"dependencies": {
+				"commander": "^10.0.1",
 				"fs-extra": "^10.0.1",
 				"mochawesome": "^7.1.3",
 				"mochawesome-merge": "^4.2.1",
 				"mochawesome-report-generator": "^6.2.0"
 			},
+			"bin": {
+				"generate-mochawesome-report": "cli.js"
+			},
 			"engines": {
 				"node": ">=14"
 			},
@@ -13161,6 +13174,16 @@
 				"cypress": ">=6.2.0"
 			}
 		},
+		"node_modules/cypress-mochawesome-reporter/node_modules/commander": {
+			"version": "10.0.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-10.0.1.tgz",
+			"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+			"dev": true,
+			"license": "MIT",
+			"engines": {
+				"node": ">=14"
+			}
+		},
 		"node_modules/cypress-mochawesome-reporter/node_modules/fs-extra": {
 			"version": "10.1.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -13177,13 +13200,13 @@
 			}
 		},
 		"node_modules/cypress-real-events": {
-			"version": "1.7.6",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-real-events/-/cypress-real-events-1.7.6.tgz",
-			"integrity": "sha512-yP6GnRrbm6HK5q4DH6Nnupz37nOfZu/xn1xFYqsE2o4G73giPWQOdu6375QYpwfU1cvHNCgyD2bQ2hPH9D7NMw==",
+			"version": "1.10.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-real-events/-/cypress-real-events-1.10.3.tgz",
+			"integrity": "sha512-YN3fn+CJIAM638sE6uMvv2/n3PsWowdd0rOiN6ZoyezNAMyENfuQHvccLKZpN+apGfQZYetCml6QXLYgDid2fg==",
 			"dev": true,
 			"license": "MIT",
 			"peerDependencies": {
-				"cypress": "^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x"
+				"cypress": "^4.x || ^5.x || ^6.x || ^7.x || ^8.x || ^9.x || ^10.x || ^11.x || ^12.x || ^13.x"
 			}
 		},
 		"node_modules/cypress-timestamps": {
@@ -13196,13 +13219,6 @@
 				"format-duration": "^2.0.0"
 			}
 		},
-		"node_modules/cypress/node_modules/@types/node": {
-			"version": "14.18.42",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-14.18.42.tgz",
-			"integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==",
-			"devOptional": true,
-			"license": "MIT"
-		},
 		"node_modules/cypress/node_modules/ansi-styles": {
 			"version": "4.3.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -13302,6 +13318,35 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/cypress/node_modules/lru-cache": {
+			"version": "6.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lru-cache/-/lru-cache-6.0.0.tgz",
+			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+			"devOptional": true,
+			"license": "ISC",
+			"dependencies": {
+				"yallist": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/cypress/node_modules/semver": {
+			"version": "7.5.4",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/semver/-/semver-7.5.4.tgz",
+			"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+			"devOptional": true,
+			"license": "ISC",
+			"dependencies": {
+				"lru-cache": "^6.0.0"
+			},
+			"bin": {
+				"semver": "bin/semver.js"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/cypress/node_modules/supports-color": {
 			"version": "8.1.1",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/supports-color/-/supports-color-8.1.1.tgz",
@@ -13318,6 +13363,13 @@
 				"url": "https://github.com/chalk/supports-color?sponsor=1"
 			}
 		},
+		"node_modules/cypress/node_modules/yallist": {
+			"version": "4.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yallist/-/yallist-4.0.0.tgz",
+			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+			"devOptional": true,
+			"license": "ISC"
+		},
 		"node_modules/dashdash": {
 			"version": "1.14.1",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/dashdash/-/dashdash-1.14.1.tgz",
@@ -13407,6 +13459,20 @@
 				}
 			}
 		},
+		"node_modules/decamelize": {
+			"version": "4.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/decamelize/-/decamelize-4.0.0.tgz",
+			"integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/decimal.js": {
 			"version": "10.4.3",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/decimal.js/-/decimal.js-10.4.3.tgz",
@@ -14957,9 +15023,9 @@
 			"license": "MIT"
 		},
 		"node_modules/eventemitter2": {
-			"version": "6.4.9",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eventemitter2/-/eventemitter2-6.4.9.tgz",
-			"integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
+			"version": "6.4.7",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eventemitter2/-/eventemitter2-6.4.7.tgz",
+			"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
 			"devOptional": true,
 			"license": "MIT"
 		},
@@ -20811,32 +20877,6 @@
 			"dev": true,
 			"license": "MIT"
 		},
-		"node_modules/jsdom/node_modules/tough-cookie": {
-			"version": "4.1.2",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-4.1.2.tgz",
-			"integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
-			"dev": true,
-			"license": "BSD-3-Clause",
-			"dependencies": {
-				"psl": "^1.1.33",
-				"punycode": "^2.1.1",
-				"universalify": "^0.2.0",
-				"url-parse": "^1.5.3"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
-		"node_modules/jsdom/node_modules/universalify": {
-			"version": "0.2.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/universalify/-/universalify-0.2.0.tgz",
-			"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">= 4.0.0"
-			}
-		},
 		"node_modules/jsesc": {
 			"version": "2.5.2",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/jsesc/-/jsesc-2.5.2.tgz",
@@ -22315,6 +22355,286 @@
 				"node": ">=10"
 			}
 		},
+		"node_modules/mocha": {
+			"version": "10.2.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mocha/-/mocha-10.2.0.tgz",
+			"integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"ansi-colors": "4.1.1",
+				"browser-stdout": "1.3.1",
+				"chokidar": "3.5.3",
+				"debug": "4.3.4",
+				"diff": "5.0.0",
+				"escape-string-regexp": "4.0.0",
+				"find-up": "5.0.0",
+				"glob": "7.2.0",
+				"he": "1.2.0",
+				"js-yaml": "4.1.0",
+				"log-symbols": "4.1.0",
+				"minimatch": "5.0.1",
+				"ms": "2.1.3",
+				"nanoid": "3.3.3",
+				"serialize-javascript": "6.0.0",
+				"strip-json-comments": "3.1.1",
+				"supports-color": "8.1.1",
+				"workerpool": "6.2.1",
+				"yargs": "16.2.0",
+				"yargs-parser": "20.2.4",
+				"yargs-unparser": "2.0.0"
+			},
+			"bin": {
+				"_mocha": "bin/_mocha",
+				"mocha": "bin/mocha.js"
+			},
+			"engines": {
+				"node": ">= 14.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/mochajs"
+			}
+		},
+		"node_modules/mocha/node_modules/ansi-colors": {
+			"version": "4.1.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ansi-colors/-/ansi-colors-4.1.1.tgz",
+			"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
+		"node_modules/mocha/node_modules/argparse": {
+			"version": "2.0.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/argparse/-/argparse-2.0.1.tgz",
+			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+			"dev": true,
+			"license": "Python-2.0",
+			"peer": true
+		},
+		"node_modules/mocha/node_modules/escape-string-regexp": {
+			"version": "4.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+			"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/mocha/node_modules/find-up": {
+			"version": "5.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/find-up/-/find-up-5.0.0.tgz",
+			"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"locate-path": "^6.0.0",
+				"path-exists": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/mocha/node_modules/glob": {
+			"version": "7.2.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/glob/-/glob-7.2.0.tgz",
+			"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+			"dev": true,
+			"license": "ISC",
+			"peer": true,
+			"dependencies": {
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.0.4",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
+			},
+			"engines": {
+				"node": "*"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
+		"node_modules/mocha/node_modules/glob/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"license": "ISC",
+			"peer": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
+		"node_modules/mocha/node_modules/has-flag": {
+			"version": "4.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/has-flag/-/has-flag-4.0.0.tgz",
+			"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
+		"node_modules/mocha/node_modules/js-yaml": {
+			"version": "4.1.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/js-yaml/-/js-yaml-4.1.0.tgz",
+			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"argparse": "^2.0.1"
+			},
+			"bin": {
+				"js-yaml": "bin/js-yaml.js"
+			}
+		},
+		"node_modules/mocha/node_modules/locate-path": {
+			"version": "6.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/locate-path/-/locate-path-6.0.0.tgz",
+			"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"p-locate": "^5.0.0"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/mocha/node_modules/minimatch": {
+			"version": "5.0.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/minimatch/-/minimatch-5.0.1.tgz",
+			"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+			"dev": true,
+			"license": "ISC",
+			"peer": true,
+			"dependencies": {
+				"brace-expansion": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
+		"node_modules/mocha/node_modules/ms": {
+			"version": "2.1.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true
+		},
+		"node_modules/mocha/node_modules/p-locate": {
+			"version": "5.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/p-locate/-/p-locate-5.0.0.tgz",
+			"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"p-limit": "^3.0.2"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/mocha/node_modules/serialize-javascript": {
+			"version": "6.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+			"integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+			"dev": true,
+			"license": "BSD-3-Clause",
+			"peer": true,
+			"dependencies": {
+				"randombytes": "^2.1.0"
+			}
+		},
+		"node_modules/mocha/node_modules/supports-color": {
+			"version": "8.1.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/supports-color/-/supports-color-8.1.1.tgz",
+			"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"has-flag": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/supports-color?sponsor=1"
+			}
+		},
+		"node_modules/mocha/node_modules/yargs": {
+			"version": "16.2.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs/-/yargs-16.2.0.tgz",
+			"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"cliui": "^7.0.2",
+				"escalade": "^3.1.1",
+				"get-caller-file": "^2.0.5",
+				"require-directory": "^2.1.1",
+				"string-width": "^4.2.0",
+				"y18n": "^5.0.5",
+				"yargs-parser": "^20.2.2"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/mocha/node_modules/yargs-parser": {
+			"version": "20.2.4",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs-parser/-/yargs-parser-20.2.4.tgz",
+			"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+			"dev": true,
+			"license": "ISC",
+			"peer": true,
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/mochawesome": {
 			"version": "7.1.3",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mochawesome/-/mochawesome-7.1.3.tgz",
@@ -22892,6 +23212,20 @@
 			"license": "MIT",
 			"optional": true
 		},
+		"node_modules/nanoid": {
+			"version": "3.3.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/nanoid/-/nanoid-3.3.3.tgz",
+			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"bin": {
+				"nanoid": "bin/nanoid.cjs"
+			},
+			"engines": {
+				"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+			}
+		},
 		"node_modules/nanomatch": {
 			"version": "1.2.13",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -25354,7 +25688,7 @@
 			"version": "0.11.10",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/process/-/process-0.11.10.tgz",
 			"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
-			"dev": true,
+			"devOptional": true,
 			"license": "MIT",
 			"engines": {
 				"node": ">= 0.6.0"
@@ -25576,7 +25910,7 @@
 			"version": "2.2.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/querystringify/-/querystringify-2.2.0.tgz",
 			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-			"dev": true,
+			"devOptional": true,
 			"license": "MIT"
 		},
 		"node_modules/queue-microtask": {
@@ -28626,17 +28960,29 @@
 			}
 		},
 		"node_modules/tough-cookie": {
-			"version": "2.5.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-2.5.0.tgz",
-			"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+			"version": "4.1.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-4.1.3.tgz",
+			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
 			"devOptional": true,
 			"license": "BSD-3-Clause",
 			"dependencies": {
-				"psl": "^1.1.28",
-				"punycode": "^2.1.1"
+				"psl": "^1.1.33",
+				"punycode": "^2.1.1",
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
 			},
 			"engines": {
-				"node": ">=0.8"
+				"node": ">=6"
+			}
+		},
+		"node_modules/tough-cookie/node_modules/universalify": {
+			"version": "0.2.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/universalify/-/universalify-0.2.0.tgz",
+			"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+			"devOptional": true,
+			"license": "MIT",
+			"engines": {
+				"node": ">= 4.0.0"
 			}
 		},
 		"node_modules/tr46": {
@@ -29509,7 +29855,7 @@
 			"version": "1.5.10",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/url-parse/-/url-parse-1.5.10.tgz",
 			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
-			"dev": true,
+			"devOptional": true,
 			"license": "MIT",
 			"dependencies": {
 				"querystringify": "^2.1.1",
@@ -30554,6 +30900,14 @@
 				"errno": "~0.1.7"
 			}
 		},
+		"node_modules/workerpool": {
+			"version": "6.2.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/workerpool/-/workerpool-6.2.1.tgz",
+			"integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
+			"dev": true,
+			"license": "Apache-2.0",
+			"peer": true
+		},
 		"node_modules/wrap-ansi": {
 			"version": "7.0.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -30729,6 +31083,48 @@
 				"node": ">=12"
 			}
 		},
+		"node_modules/yargs-unparser": {
+			"version": "2.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+			"integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"dependencies": {
+				"camelcase": "^6.0.0",
+				"decamelize": "^4.0.0",
+				"flat": "^5.0.2",
+				"is-plain-obj": "^2.1.0"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/yargs-unparser/node_modules/camelcase": {
+			"version": "6.3.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/camelcase/-/camelcase-6.3.0.tgz",
+			"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/yargs-unparser/node_modules/is-plain-obj": {
+			"version": "2.1.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+			"integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+			"dev": true,
+			"license": "MIT",
+			"peer": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/yargs/node_modules/cliui": {
 			"version": "8.0.1",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cliui/-/cliui-8.0.1.tgz",
@@ -32917,9 +33313,9 @@
 			}
 		},
 		"@cypress/request": {
-			"version": "2.88.11",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/request/-/request-2.88.11.tgz",
-			"integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==",
+			"version": "2.88.12",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/request/-/request-2.88.12.tgz",
+			"integrity": "sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA==",
 			"devOptional": true,
 			"requires": {
 				"aws-sign2": "~0.7.0",
@@ -32937,7 +33333,7 @@
 				"performance-now": "^2.1.0",
 				"qs": "~6.10.3",
 				"safe-buffer": "^5.1.2",
-				"tough-cookie": "~2.5.0",
+				"tough-cookie": "^4.1.3",
 				"tunnel-agent": "^0.6.0",
 				"uuid": "^8.3.2"
 			}
@@ -33690,9 +34086,9 @@
 			}
 		},
 		"@cypress/webpack-preprocessor": {
-			"version": "5.17.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.0.tgz",
-			"integrity": "sha512-HyFqHkrOrIIYOt4G+r3VK0kVYTcev1tEcqBI/0DJ4AzEuEgW/TB+cX56txy4Cgn60XXdJoul2utclZwUqOsPZA==",
+			"version": "5.17.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.17.1.tgz",
+			"integrity": "sha512-FE/e8ikPc8z4EVopJCaior3RGy0jd2q9Xcp5NtiwNG4XnLfEnUFTZlAGwXe75sEh4fNMPrBJW1KIz77PX5vGAw==",
 			"dev": true,
 			"requires": {
 				"bluebird": "3.7.1",
@@ -37047,9 +37443,9 @@
 			"integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
 		},
 		"@types/node": {
-			"version": "16.18.23",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-16.18.23.tgz",
-			"integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g=="
+			"version": "16.18.54",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-16.18.54.tgz",
+			"integrity": "sha512-oTmGy68gxZZ21FhTJVVvZBYpQHEBZxHKTsGshobMqm9qWpbqdZsA5jvsuPZcHu0KwpmLrOHWPdEfg7XDpNT9UA=="
 		},
 		"@types/parse-json": {
 			"version": "4.0.0",
@@ -38574,6 +38970,13 @@
 			"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
 			"dev": true
 		},
+		"browser-stdout": {
+			"version": "1.3.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/browser-stdout/-/browser-stdout-1.3.1.tgz",
+			"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+			"dev": true,
+			"peer": true
+		},
 		"browserify-aes": {
 			"version": "1.2.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/browserify-aes/-/browserify-aes-1.2.0.tgz",
@@ -38835,9 +39238,9 @@
 			}
 		},
 		"caniuse-lite": {
-			"version": "1.0.30001474",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz",
-			"integrity": "sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q=="
+			"version": "1.0.30001539",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/caniuse-lite/-/caniuse-lite-1.0.30001539.tgz",
+			"integrity": "sha512-hfS5tE8bnNiNvEOEkm8HElUHroYwlqMMENEzELymy77+tJ6m+gA2krtHl5hxJaj71OlpC2cHZbdSMX1/YEqEkA=="
 		},
 		"caseless": {
 			"version": "0.12.0",
@@ -39163,9 +39566,9 @@
 			}
 		},
 		"commander": {
-			"version": "5.1.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-5.1.0.tgz",
-			"integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+			"version": "6.2.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-6.2.1.tgz",
+			"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
 			"devOptional": true
 		},
 		"common-tags": {
@@ -39892,14 +40295,14 @@
 			"dev": true
 		},
 		"cypress": {
-			"version": "9.7.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress/-/cypress-9.7.0.tgz",
-			"integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==",
+			"version": "12.17.4",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress/-/cypress-12.17.4.tgz",
+			"integrity": "sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ==",
 			"devOptional": true,
 			"requires": {
-				"@cypress/request": "^2.88.10",
+				"@cypress/request": "2.88.12",
 				"@cypress/xvfb": "^1.2.4",
-				"@types/node": "^14.14.31",
+				"@types/node": "^16.18.39",
 				"@types/sinonjs__fake-timers": "8.1.1",
 				"@types/sizzle": "^2.3.2",
 				"arch": "^2.2.0",
@@ -39911,12 +40314,12 @@
 				"check-more-types": "^2.24.0",
 				"cli-cursor": "^3.1.0",
 				"cli-table3": "~0.6.1",
-				"commander": "^5.1.0",
+				"commander": "^6.2.1",
 				"common-tags": "^1.8.0",
 				"dayjs": "^1.10.4",
-				"debug": "^4.3.2",
+				"debug": "^4.3.4",
 				"enquirer": "^2.3.6",
-				"eventemitter2": "^6.4.3",
+				"eventemitter2": "6.4.7",
 				"execa": "4.1.0",
 				"executable": "^4.1.1",
 				"extract-zip": "2.0.1",
@@ -39929,24 +40332,19 @@
 				"listr2": "^3.8.3",
 				"lodash": "^4.17.21",
 				"log-symbols": "^4.0.0",
-				"minimist": "^1.2.6",
+				"minimist": "^1.2.8",
 				"ospath": "^1.2.2",
 				"pretty-bytes": "^5.6.0",
+				"process": "^0.11.10",
 				"proxy-from-env": "1.0.0",
 				"request-progress": "^3.0.0",
-				"semver": "^7.3.2",
+				"semver": "^7.5.3",
 				"supports-color": "^8.1.1",
 				"tmp": "~0.2.1",
 				"untildify": "^4.0.0",
 				"yauzl": "^2.10.0"
 			},
 			"dependencies": {
-				"@types/node": {
-					"version": "14.18.42",
-					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/@types/node/-/node-14.18.42.tgz",
-					"integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==",
-					"devOptional": true
-				},
 				"ansi-styles": {
 					"version": "4.3.0",
 					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -40016,6 +40414,24 @@
 					"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
 					"devOptional": true
 				},
+				"lru-cache": {
+					"version": "6.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/lru-cache/-/lru-cache-6.0.0.tgz",
+					"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+					"devOptional": true,
+					"requires": {
+						"yallist": "^4.0.0"
+					}
+				},
+				"semver": {
+					"version": "7.5.4",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/semver/-/semver-7.5.4.tgz",
+					"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+					"devOptional": true,
+					"requires": {
+						"lru-cache": "^6.0.0"
+					}
+				},
 				"supports-color": {
 					"version": "8.1.1",
 					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/supports-color/-/supports-color-8.1.1.tgz",
@@ -40024,6 +40440,12 @@
 					"requires": {
 						"has-flag": "^4.0.0"
 					}
+				},
+				"yallist": {
+					"version": "4.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yallist/-/yallist-4.0.0.tgz",
+					"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+					"devOptional": true
 				}
 			}
 		},
@@ -40035,17 +40457,24 @@
 			"requires": {}
 		},
 		"cypress-mochawesome-reporter": {
-			"version": "3.3.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.3.0.tgz",
-			"integrity": "sha512-X4HU1JpuB62MXLh46660KmIs/L6noWV2KpxaXPDorz1zwgj26NN+BPCLP80D9cCFUwX3hNH0pKFZDwVR7vM8wg==",
+			"version": "3.6.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-mochawesome-reporter/-/cypress-mochawesome-reporter-3.6.0.tgz",
+			"integrity": "sha512-NeYpeZVB5YCU10I3a1yA2qHt+YREo0jZw4Gj83JTJ7YX/ZLFfd8MYKl2O19d/yYC8np/fpMufp5gt3ympd9DWQ==",
 			"dev": true,
 			"requires": {
+				"commander": "^10.0.1",
 				"fs-extra": "^10.0.1",
 				"mochawesome": "^7.1.3",
 				"mochawesome-merge": "^4.2.1",
 				"mochawesome-report-generator": "^6.2.0"
 			},
 			"dependencies": {
+				"commander": {
+					"version": "10.0.1",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/commander/-/commander-10.0.1.tgz",
+					"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+					"dev": true
+				},
 				"fs-extra": {
 					"version": "10.1.0",
 					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/fs-extra/-/fs-extra-10.1.0.tgz",
@@ -40060,9 +40489,9 @@
 			}
 		},
 		"cypress-real-events": {
-			"version": "1.7.6",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-real-events/-/cypress-real-events-1.7.6.tgz",
-			"integrity": "sha512-yP6GnRrbm6HK5q4DH6Nnupz37nOfZu/xn1xFYqsE2o4G73giPWQOdu6375QYpwfU1cvHNCgyD2bQ2hPH9D7NMw==",
+			"version": "1.10.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/cypress-real-events/-/cypress-real-events-1.10.3.tgz",
+			"integrity": "sha512-YN3fn+CJIAM638sE6uMvv2/n3PsWowdd0rOiN6ZoyezNAMyENfuQHvccLKZpN+apGfQZYetCml6QXLYgDid2fg==",
 			"dev": true,
 			"requires": {}
 		},
@@ -40132,6 +40561,13 @@
 				"ms": "2.1.2"
 			}
 		},
+		"decamelize": {
+			"version": "4.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/decamelize/-/decamelize-4.0.0.tgz",
+			"integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+			"dev": true,
+			"peer": true
+		},
 		"decimal.js": {
 			"version": "10.4.3",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/decimal.js/-/decimal.js-10.4.3.tgz",
@@ -41237,9 +41673,9 @@
 			"dev": true
 		},
 		"eventemitter2": {
-			"version": "6.4.9",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eventemitter2/-/eventemitter2-6.4.9.tgz",
-			"integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==",
+			"version": "6.4.7",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/eventemitter2/-/eventemitter2-6.4.7.tgz",
+			"integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==",
 			"devOptional": true
 		},
 		"eventemitter3": {
@@ -45299,24 +45735,6 @@
 					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/parse5/-/parse5-6.0.1.tgz",
 					"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
 					"dev": true
-				},
-				"tough-cookie": {
-					"version": "4.1.2",
-					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-4.1.2.tgz",
-					"integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
-					"dev": true,
-					"requires": {
-						"psl": "^1.1.33",
-						"punycode": "^2.1.1",
-						"universalify": "^0.2.0",
-						"url-parse": "^1.5.3"
-					}
-				},
-				"universalify": {
-					"version": "0.2.0",
-					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/universalify/-/universalify-0.2.0.tgz",
-					"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
-					"dev": true
 				}
 			}
 		},
@@ -46371,6 +46789,206 @@
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mkdirp/-/mkdirp-1.0.4.tgz",
 			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
 		},
+		"mocha": {
+			"version": "10.2.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mocha/-/mocha-10.2.0.tgz",
+			"integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"ansi-colors": "4.1.1",
+				"browser-stdout": "1.3.1",
+				"chokidar": "3.5.3",
+				"debug": "4.3.4",
+				"diff": "5.0.0",
+				"escape-string-regexp": "4.0.0",
+				"find-up": "5.0.0",
+				"glob": "7.2.0",
+				"he": "1.2.0",
+				"js-yaml": "4.1.0",
+				"log-symbols": "4.1.0",
+				"minimatch": "5.0.1",
+				"ms": "2.1.3",
+				"nanoid": "3.3.3",
+				"serialize-javascript": "6.0.0",
+				"strip-json-comments": "3.1.1",
+				"supports-color": "8.1.1",
+				"workerpool": "6.2.1",
+				"yargs": "16.2.0",
+				"yargs-parser": "20.2.4",
+				"yargs-unparser": "2.0.0"
+			},
+			"dependencies": {
+				"ansi-colors": {
+					"version": "4.1.1",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ansi-colors/-/ansi-colors-4.1.1.tgz",
+					"integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+					"dev": true,
+					"peer": true
+				},
+				"argparse": {
+					"version": "2.0.1",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/argparse/-/argparse-2.0.1.tgz",
+					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+					"dev": true,
+					"peer": true
+				},
+				"escape-string-regexp": {
+					"version": "4.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+					"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+					"dev": true,
+					"peer": true
+				},
+				"find-up": {
+					"version": "5.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/find-up/-/find-up-5.0.0.tgz",
+					"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"locate-path": "^6.0.0",
+						"path-exists": "^4.0.0"
+					}
+				},
+				"glob": {
+					"version": "7.2.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/glob/-/glob-7.2.0.tgz",
+					"integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
+					},
+					"dependencies": {
+						"minimatch": {
+							"version": "3.1.2",
+							"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/minimatch/-/minimatch-3.1.2.tgz",
+							"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+							"dev": true,
+							"peer": true,
+							"requires": {
+								"brace-expansion": "^1.1.7"
+							}
+						}
+					}
+				},
+				"has-flag": {
+					"version": "4.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/has-flag/-/has-flag-4.0.0.tgz",
+					"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+					"dev": true,
+					"peer": true
+				},
+				"js-yaml": {
+					"version": "4.1.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/js-yaml/-/js-yaml-4.1.0.tgz",
+					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"argparse": "^2.0.1"
+					}
+				},
+				"locate-path": {
+					"version": "6.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/locate-path/-/locate-path-6.0.0.tgz",
+					"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"p-locate": "^5.0.0"
+					}
+				},
+				"minimatch": {
+					"version": "5.0.1",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/minimatch/-/minimatch-5.0.1.tgz",
+					"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					},
+					"dependencies": {
+						"brace-expansion": {
+							"version": "2.0.1",
+							"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/brace-expansion/-/brace-expansion-2.0.1.tgz",
+							"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+							"dev": true,
+							"peer": true,
+							"requires": {
+								"balanced-match": "^1.0.0"
+							}
+						}
+					}
+				},
+				"ms": {
+					"version": "2.1.3",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/ms/-/ms-2.1.3.tgz",
+					"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+					"dev": true,
+					"peer": true
+				},
+				"p-locate": {
+					"version": "5.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/p-locate/-/p-locate-5.0.0.tgz",
+					"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"p-limit": "^3.0.2"
+					}
+				},
+				"serialize-javascript": {
+					"version": "6.0.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
+					"integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"randombytes": "^2.1.0"
+					}
+				},
+				"supports-color": {
+					"version": "8.1.1",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/supports-color/-/supports-color-8.1.1.tgz",
+					"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"has-flag": "^4.0.0"
+					}
+				},
+				"yargs": {
+					"version": "16.2.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs/-/yargs-16.2.0.tgz",
+					"integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+					"dev": true,
+					"peer": true,
+					"requires": {
+						"cliui": "^7.0.2",
+						"escalade": "^3.1.1",
+						"get-caller-file": "^2.0.5",
+						"require-directory": "^2.1.1",
+						"string-width": "^4.2.0",
+						"y18n": "^5.0.5",
+						"yargs-parser": "^20.2.2"
+					}
+				},
+				"yargs-parser": {
+					"version": "20.2.4",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs-parser/-/yargs-parser-20.2.4.tgz",
+					"integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+					"dev": true,
+					"peer": true
+				}
+			}
+		},
 		"mochawesome": {
 			"version": "7.1.3",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/mochawesome/-/mochawesome-7.1.3.tgz",
@@ -46796,6 +47414,13 @@
 			"dev": true,
 			"optional": true
 		},
+		"nanoid": {
+			"version": "3.3.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/nanoid/-/nanoid-3.3.3.tgz",
+			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"dev": true,
+			"peer": true
+		},
 		"nanomatch": {
 			"version": "1.2.13",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -48459,7 +49084,7 @@
 			"version": "0.11.10",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/process/-/process-0.11.10.tgz",
 			"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
-			"dev": true
+			"devOptional": true
 		},
 		"process-nextick-args": {
 			"version": "2.0.1",
@@ -48635,7 +49260,7 @@
 			"version": "2.2.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/querystringify/-/querystringify-2.2.0.tgz",
 			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-			"dev": true
+			"devOptional": true
 		},
 		"queue-microtask": {
 			"version": "1.2.3",
@@ -50829,13 +51454,23 @@
 			"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
 		},
 		"tough-cookie": {
-			"version": "2.5.0",
-			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-2.5.0.tgz",
-			"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+			"version": "4.1.3",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/tough-cookie/-/tough-cookie-4.1.3.tgz",
+			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
 			"devOptional": true,
 			"requires": {
-				"psl": "^1.1.28",
-				"punycode": "^2.1.1"
+				"psl": "^1.1.33",
+				"punycode": "^2.1.1",
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
+			},
+			"dependencies": {
+				"universalify": {
+					"version": "0.2.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/universalify/-/universalify-0.2.0.tgz",
+					"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+					"devOptional": true
+				}
 			}
 		},
 		"tr46": {
@@ -51422,7 +52057,7 @@
 			"version": "1.5.10",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/url-parse/-/url-parse-1.5.10.tgz",
 			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
-			"dev": true,
+			"devOptional": true,
 			"requires": {
 				"querystringify": "^2.1.1",
 				"requires-port": "^1.0.0"
@@ -52181,6 +52816,13 @@
 				"errno": "~0.1.7"
 			}
 		},
+		"workerpool": {
+			"version": "6.2.1",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/workerpool/-/workerpool-6.2.1.tgz",
+			"integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==",
+			"dev": true,
+			"peer": true
+		},
 		"wrap-ansi": {
 			"version": "7.0.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -52304,6 +52946,35 @@
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs-parser/-/yargs-parser-21.1.1.tgz",
 			"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
 		},
+		"yargs-unparser": {
+			"version": "2.0.0",
+			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+			"integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"camelcase": "^6.0.0",
+				"decamelize": "^4.0.0",
+				"flat": "^5.0.2",
+				"is-plain-obj": "^2.1.0"
+			},
+			"dependencies": {
+				"camelcase": {
+					"version": "6.3.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/camelcase/-/camelcase-6.3.0.tgz",
+					"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+					"dev": true,
+					"peer": true
+				},
+				"is-plain-obj": {
+					"version": "2.1.0",
+					"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+					"integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+					"dev": true,
+					"peer": true
+				}
+			}
+		},
 		"yauzl": {
 			"version": "2.10.0",
 			"resolved": "http://nexus.ozg-sh.de/repository/npm-proxy/yauzl/-/yauzl-2.10.0.tgz",
diff --git a/goofy-client/package.json b/goofy-client/package.json
index be70ff2f992f202170ab0f9d3b05369c3bdf0652..2845ef85f7653a7c6373040601dba9ed5646e45a 100644
--- a/goofy-client/package.json
+++ b/goofy-client/package.json
@@ -34,13 +34,12 @@
 		"help": "nx help",
 		"favicon": "real-favicon generate favicon/faviconDescription.json favicon/faviconData.json src/favicon",
 		"cypress:run": "npx cypress run --project apps/goofy-e2e",
-		"cypress:run-main": "npx cypress run --project apps/goofy-e2e --config video=false,integrationFolder=./src/integration/main-tests",
-		"cypress:run-ea": "npx cypress run --project apps/goofy-e2e --config video=false,integrationFolder=./src/integration/einheitlicher-ansprechpartner",
-		"cypress:run-minimal": "npx cypress run --project apps/goofy-e2e --config video=false",
+		"cypress:run-main": "npx cypress run --project apps/goofy-e2e --spec apps/goofy-e2e/src/e2e/main-tests",
+		"cypress:run-ea": "npx cypress run --project apps/goofy-e2e --spec apps/goofy-e2e/src/e2e/einheitlicher-ansprechpartner",
 		"cypress:version": "npx cypress version",
 		"cypress:install": "npx cypress install",
 		"cypress:open": "npx cypress open --project apps/goofy-e2e",
-		"cypress:ci-run": "npm run cypress:delete-old-reports --REPORT_FOLDER=${npm_config_report_folder} ; NO_COLOR=1 npm run cypress:run -- --config-file ./${npm_config_config_file} ; test=$(echo \"$?\") ; npm run cypress:pre-merge --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-report --REPORT_FOLDER=${npm_config_report_folder} ; exit $test",
+		"cypress:ci-run": "npm run cypress:delete-old-reports --REPORT_FOLDER=${npm_config_report_folder} ; NO_COLOR=1 npm run cypress:run -- --config-file=${npm_config_config} ; test=$(echo \"$?\") ; npm run cypress:pre-merge --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-report --REPORT_FOLDER=${npm_config_report_folder} ; exit $test",
 		"cypress:delete-old-reports": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/delete-old-reports.ts",
 		"cypress:pre-merge": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/pre-merge.ts",
 		"cypress:generate-report": "npm run cypress:merge-report --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-html --REPORT_FOLDER=${npm_config_report_folder}",
@@ -91,8 +90,8 @@
 		"@angular/compiler-cli": "15.1.4",
 		"@angular/language-service": "15.1.4",
 		"@bahmutov/cypress-extends": "1.1.0",
-		"@cypress/webpack-batteries-included-preprocessor": "^2.3.0",
-		"@cypress/webpack-preprocessor": "^5.16.3",
+		"@cypress/webpack-batteries-included-preprocessor": "^2.4.1",
+		"@cypress/webpack-preprocessor": "^5.17.1",
 		"@faker-js/faker": "^6.3.1",
 		"@ngrx/schematics": "15.0.0",
 		"@ngrx/store-devtools": "15.0.0",
@@ -109,10 +108,10 @@
 		"@types/node": "^16.18.1",
 		"@typescript-eslint/eslint-plugin": "5.44.0",
 		"@typescript-eslint/parser": "5.44.0",
-		"cypress": "^9.7.0",
+		"cypress": "^12.17.4",
 		"cypress-file-upload": "5.0.8",
-		"cypress-mochawesome-reporter": "3.3.0",
-		"cypress-real-events": "^1.7.6",
+		"cypress-mochawesome-reporter": "3.6.0",
+		"cypress-real-events": "^1.10.3",
 		"cypress-timestamps": "^1.2.3",
 		"eslint": "8.15.0",
 		"eslint-config-prettier": "8.3.0",