diff --git a/alfa-client/apps/alfa/jest.config.ts b/alfa-client/apps/alfa/jest.config.ts
index 0ee824463f4caa778648551d7e277e33d8aa9a16..894ba78f69ff035416903e1ee265cfb2ef254141 100644
--- a/alfa-client/apps/alfa/jest.config.ts
+++ b/alfa-client/apps/alfa/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/apps/alfa',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/apps/alfa/src/app/app.component.ts b/alfa-client/apps/alfa/src/app/app.component.ts
index 0596fd0884a931e357e4d289a3158e9f8173fcf2..5a80d4ca28d3084416e11dc74774307aed19f297 100644
--- a/alfa-client/apps/alfa/src/app/app.component.ts
+++ b/alfa-client/apps/alfa/src/app/app.component.ts
@@ -21,14 +21,13 @@
  * Die sprachspezifischen Genehmigungen und Beschränkungen
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
-import { Component, Inject, OnInit } from '@angular/core';
-import { Title } from '@angular/platform-browser';
 import { ApiRootFacade, ApiRootResource } from '@alfa-client/api-root-shared';
 import { ENVIRONMENT_CONFIG } from '@alfa-client/environment-shared';
 import { NavigationService } from '@alfa-client/navigation-shared';
 import { StateResource, isNotNull } from '@alfa-client/tech-shared';
 import { IconService } from '@alfa-client/ui';
 import { buildPathSegmentsFromLocalStorage } from '@alfa-client/vorgang-shared';
+import { Component, Inject, OnInit } from '@angular/core';
 import { AuthConfig, OAuthEvent, OAuthService } from 'angular-oauth2-oidc';
 import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
 import { Environment } from 'libs/environment-shared/src/lib/environment.model';
diff --git a/alfa-client/jest.preset.js b/alfa-client/jest.preset.js
index cec38492606d7781e0182987edb8778980981638..e56827c76fd13112f82f0b5350630459926d6975 100644
--- a/alfa-client/jest.preset.js
+++ b/alfa-client/jest.preset.js
@@ -28,5 +28,5 @@ module.exports = {
 	moduleNameMapper: {
 		'lodash-es': 'lodash',
 	},
-	workerIdleMemoryLimit: '500MB'
+	workerIdleMemoryLimit: '1024GB'
 };
diff --git a/alfa-client/libs/api-root-shared/jest.config.ts b/alfa-client/libs/api-root-shared/jest.config.ts
index b4cf7efb67374106980f83d5e797d0ee5fdfeaa1..c55dd7c74f9cf7efbb8472f1bac821bb64109f6c 100644
--- a/alfa-client/libs/api-root-shared/jest.config.ts
+++ b/alfa-client/libs/api-root-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/api-root-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/app-shared/jest.config.ts b/alfa-client/libs/app-shared/jest.config.ts
index 766e20f2f63db922cd5506517be0a5e39f6da7f7..265b8857c7c6458cfc110476412bfe2cd13eefd7 100644
--- a/alfa-client/libs/app-shared/jest.config.ts
+++ b/alfa-client/libs/app-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/app-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/bescheid-shared/jest.config.ts b/alfa-client/libs/bescheid-shared/jest.config.ts
index 245218e41948fc892626b498859a534712ef33fa..96644666515aa83ae0d882a1f4f9db64ff8c3639 100644
--- a/alfa-client/libs/bescheid-shared/jest.config.ts
+++ b/alfa-client/libs/bescheid-shared/jest.config.ts
@@ -3,6 +3,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/bescheid-shared',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/bescheid/jest.config.ts b/alfa-client/libs/bescheid/jest.config.ts
index 9442161c20ba37437ba36561b5468122e54205ea..19ed102fc38b478340424ec0f3c0628bc3e44278 100644
--- a/alfa-client/libs/bescheid/jest.config.ts
+++ b/alfa-client/libs/bescheid/jest.config.ts
@@ -3,6 +3,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/bescheid',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/binary-file-shared/jest.config.ts b/alfa-client/libs/binary-file-shared/jest.config.ts
index 0b87c11107b24a700f9f43a98d33e04dfd29b3df..c4c73293b0f8c2afafb4c943f37367382e74bfc5 100644
--- a/alfa-client/libs/binary-file-shared/jest.config.ts
+++ b/alfa-client/libs/binary-file-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/binary-file-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/binary-file/jest.config.ts b/alfa-client/libs/binary-file/jest.config.ts
index b18a65a9c2f26b346b7cdb4391016cf40cf47312..4e91632c1b60a22e0a6a21071dbe63c53d62af84 100644
--- a/alfa-client/libs/binary-file/jest.config.ts
+++ b/alfa-client/libs/binary-file/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/binary-file',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/command-shared/jest.config.ts b/alfa-client/libs/command-shared/jest.config.ts
index 92848bb9669f53801488465236e528c95df973f7..76e8264ec70327c98eb03fa294a0966a92ff4798 100644
--- a/alfa-client/libs/command-shared/jest.config.ts
+++ b/alfa-client/libs/command-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/command-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/environment-shared/jest.config.ts b/alfa-client/libs/environment-shared/jest.config.ts
index b07f96debd3345886bfc28ed25cc15f25f4e70ab..8ff5cf24dfd2d98cc49bb29aae8106c95afd5ce7 100644
--- a/alfa-client/libs/environment-shared/jest.config.ts
+++ b/alfa-client/libs/environment-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/environment-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/forwarding-shared/jest.config.ts b/alfa-client/libs/forwarding-shared/jest.config.ts
index 74eccca94e27e69606e0776fe1c8fc648274a2a8..5840ebbe77dab8daa93b71022649128918c365cc 100644
--- a/alfa-client/libs/forwarding-shared/jest.config.ts
+++ b/alfa-client/libs/forwarding-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/forwarding-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/forwarding/jest.config.ts b/alfa-client/libs/forwarding/jest.config.ts
index 14c9edb8c7d87d7f62c891b4263c6095431d8a90..c940d0f9335cef57d3fb081f76822e32e18db2c2 100644
--- a/alfa-client/libs/forwarding/jest.config.ts
+++ b/alfa-client/libs/forwarding/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/forwarding',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/hint-shared/jest.config.ts b/alfa-client/libs/hint-shared/jest.config.ts
index 5b70d99b604b0cd43c91c02e79f8fa383e5a2f4a..44d07563fe1cea38fbc9a6ca6dad3524ff5b6cb9 100644
--- a/alfa-client/libs/hint-shared/jest.config.ts
+++ b/alfa-client/libs/hint-shared/jest.config.ts
@@ -3,6 +3,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/hint-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/hint/jest.config.ts b/alfa-client/libs/hint/jest.config.ts
index 1eda8ae12ac80bb4fc06fb0f47a8dc65942c24ad..b937dc1bebbe3c291f90332aff953120a8e8f4a4 100644
--- a/alfa-client/libs/hint/jest.config.ts
+++ b/alfa-client/libs/hint/jest.config.ts
@@ -4,6 +4,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/hint',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/historie-shared/jest.config.ts b/alfa-client/libs/historie-shared/jest.config.ts
index 4cba4ebd5170e2ed46fe3cafd97bd14469dca5b9..a993144bd442b0a4cc23762c7168521c2f81a83e 100644
--- a/alfa-client/libs/historie-shared/jest.config.ts
+++ b/alfa-client/libs/historie-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/historie-shared',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/historie/jest.config.ts b/alfa-client/libs/historie/jest.config.ts
index f31cf0d58bc2072fd9986d94fcaeb3e231952e47..1f9bac7a50e68b90e8f340f4c4101e50da4b81b4 100644
--- a/alfa-client/libs/historie/jest.config.ts
+++ b/alfa-client/libs/historie/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/historie',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/kommentar-shared/jest.config.ts b/alfa-client/libs/kommentar-shared/jest.config.ts
index cf650b04653b3239cde531526f6bcb8a09b433ba..7bb27705f23a91075f67f34d36fc03479a49adfc 100644
--- a/alfa-client/libs/kommentar-shared/jest.config.ts
+++ b/alfa-client/libs/kommentar-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/kommentar-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/kommentar/jest.config.ts b/alfa-client/libs/kommentar/jest.config.ts
index c6f13bcc465a9122f0ef26311b3fb716912bd0c4..5f0147fa2d5d5f7ea64fcf1f51cdcc87fa049dbc 100644
--- a/alfa-client/libs/kommentar/jest.config.ts
+++ b/alfa-client/libs/kommentar/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/kommentar',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/loesch-anforderung-shared/jest.config.ts b/alfa-client/libs/loesch-anforderung-shared/jest.config.ts
index 931f64023f1225fab28046af577396dadc735eb0..13fe76731abba729e0baaf9aa646c08067777e5f 100644
--- a/alfa-client/libs/loesch-anforderung-shared/jest.config.ts
+++ b/alfa-client/libs/loesch-anforderung-shared/jest.config.ts
@@ -4,6 +4,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/loeschanforderung-shared',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/loesch-anforderung/jest.config.ts b/alfa-client/libs/loesch-anforderung/jest.config.ts
index 1a0df61686d96a21f08aa108d1fd37c29e0e307b..96f1c7e7af828c90bfc625a6363377d44ef3d5bf 100644
--- a/alfa-client/libs/loesch-anforderung/jest.config.ts
+++ b/alfa-client/libs/loesch-anforderung/jest.config.ts
@@ -4,6 +4,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/loesch-anforderung',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/navigation-shared/jest.config.ts b/alfa-client/libs/navigation-shared/jest.config.ts
index 8f761dded1b7ac4f0321fa58733ff1e79831790b..a95f25787c01d5209f5e562325f1a85b06341d95 100644
--- a/alfa-client/libs/navigation-shared/jest.config.ts
+++ b/alfa-client/libs/navigation-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/navigation-shared',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/navigation/jest.config.ts b/alfa-client/libs/navigation/jest.config.ts
index c3d300f08bd97f6d39e55f9cb7374132b9467e3c..0a0ab2e077682b3b2710a0457756e018001b40d3 100644
--- a/alfa-client/libs/navigation/jest.config.ts
+++ b/alfa-client/libs/navigation/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/navigation',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/postfach-shared/jest.config.ts b/alfa-client/libs/postfach-shared/jest.config.ts
index 7b052af37a15131ef8d3668d6be86c78d58b978e..00144db3204d260b57040be3550a744ed5648924 100644
--- a/alfa-client/libs/postfach-shared/jest.config.ts
+++ b/alfa-client/libs/postfach-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/postfach-shared',
 	transform: {
 		'^.+.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/postfach/jest.config.ts b/alfa-client/libs/postfach/jest.config.ts
index 76ac2eaf262b8da5d0a1fff77def0568a15ff59c..837c80ed00619df7e3b0a4de3a7f477409f3344e 100644
--- a/alfa-client/libs/postfach/jest.config.ts
+++ b/alfa-client/libs/postfach/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/postfach',
 	transform: {
 		'^.+.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/tech-shared/jest.config.ts b/alfa-client/libs/tech-shared/jest.config.ts
index 90e98b1caecb9c024345e037be6ada89baa51252..430eb0ab5d55e983f74672e3c66442456c89726c 100644
--- a/alfa-client/libs/tech-shared/jest.config.ts
+++ b/alfa-client/libs/tech-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/tech-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/test-utils/jest.config.ts b/alfa-client/libs/test-utils/jest.config.ts
index e140c832a807d33c66134eccb11e918359101393..3ed91bf75bd78f2ba61572e1b2a4b347bde39f05 100644
--- a/alfa-client/libs/test-utils/jest.config.ts
+++ b/alfa-client/libs/test-utils/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/test-utils',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/ui/jest.config.ts b/alfa-client/libs/ui/jest.config.ts
index 5ea3a2c3665382587fde6aa28297b7d714ecb989..b3c0c9bfbe0cb68e06cc0a089599057135d5e8dc 100644
--- a/alfa-client/libs/ui/jest.config.ts
+++ b/alfa-client/libs/ui/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/ui',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/user-assistance/jest.config.ts b/alfa-client/libs/user-assistance/jest.config.ts
index 1832780aaf2634457ae963c4dd7dd3903126c78a..b1cfc49b0841bf6b29d117ae164c8c86801dc8fe 100644
--- a/alfa-client/libs/user-assistance/jest.config.ts
+++ b/alfa-client/libs/user-assistance/jest.config.ts
@@ -4,6 +4,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/user-profile',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/user-profile-shared/jest.config.ts b/alfa-client/libs/user-profile-shared/jest.config.ts
index cb813f281febaef7eb21747cd54e9171b5476256..3e1404b986cb4bbaba3685c697091d194ada6926 100644
--- a/alfa-client/libs/user-profile-shared/jest.config.ts
+++ b/alfa-client/libs/user-profile-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/user-profile-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/user-profile/jest.config.ts b/alfa-client/libs/user-profile/jest.config.ts
index c3c1316c63f8d8691b3637f880d1588edc886410..8ef56220e2626cbe75cf8d9f55f0b063c964a687 100644
--- a/alfa-client/libs/user-profile/jest.config.ts
+++ b/alfa-client/libs/user-profile/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/user-profile',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/user-settings-shared/jest.config.ts b/alfa-client/libs/user-settings-shared/jest.config.ts
index c40371e9dc68a2f7a2ed4dc0855f2a7425327ee5..3ee6c5efc946be7008c24b653e0d136b16ffcdc1 100644
--- a/alfa-client/libs/user-settings-shared/jest.config.ts
+++ b/alfa-client/libs/user-settings-shared/jest.config.ts
@@ -28,6 +28,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/user-settings-shared',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/user-settings/jest.config.ts b/alfa-client/libs/user-settings/jest.config.ts
index b6cb94ecdf55f5fe1fb6195356fa9e68b4f683e4..56070af32a60fea2f55c03084cea6e2cf110bd03 100644
--- a/alfa-client/libs/user-settings/jest.config.ts
+++ b/alfa-client/libs/user-settings/jest.config.ts
@@ -28,6 +28,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/user-settings',
 	transform: {
 		'^.+\\.(ts|mjs|js|html)$': [
diff --git a/alfa-client/libs/vorgang-detail/jest.config.ts b/alfa-client/libs/vorgang-detail/jest.config.ts
index bf8b4cd34cfd758ced06747aa02414d6882e2421..6cf390475b9a5ac660c0cd75265f59f3f05693f8 100644
--- a/alfa-client/libs/vorgang-detail/jest.config.ts
+++ b/alfa-client/libs/vorgang-detail/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/vorgang-detail',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/vorgang-shared-ui/jest.config.ts b/alfa-client/libs/vorgang-shared-ui/jest.config.ts
index 7ebc66395a15cabd62a5124f3429e2a2f8d13203..b21f875e29b0c05fc86668d423f2476e1d4802b8 100644
--- a/alfa-client/libs/vorgang-shared-ui/jest.config.ts
+++ b/alfa-client/libs/vorgang-shared-ui/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/vorgang-shared-ui',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/vorgang-shared/jest.config.ts b/alfa-client/libs/vorgang-shared/jest.config.ts
index 6b23df5d549e6339b61b5de670f5fbf957c9230c..9ff3db54b89b8fe41186adefe05baedac202c5f5 100644
--- a/alfa-client/libs/vorgang-shared/jest.config.ts
+++ b/alfa-client/libs/vorgang-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/vorgang-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/vorgang/jest.config.ts b/alfa-client/libs/vorgang/jest.config.ts
index 76bf56f75c05d445d435c00c2d8829f8a8a59e82..43fc4c2d3ae79767f938f0a21de80eb910ed59bd 100644
--- a/alfa-client/libs/vorgang/jest.config.ts
+++ b/alfa-client/libs/vorgang/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/vorgang',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/wiedervorlage-shared/jest.config.ts b/alfa-client/libs/wiedervorlage-shared/jest.config.ts
index 738371753cbae1c3f458a9f076a8acf36cd560e8..55758bdf46ba5f0225e7de18b573ca583d23252a 100644
--- a/alfa-client/libs/wiedervorlage-shared/jest.config.ts
+++ b/alfa-client/libs/wiedervorlage-shared/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/wiedervorlage-shared',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/libs/wiedervorlage/jest.config.ts b/alfa-client/libs/wiedervorlage/jest.config.ts
index 3ed1aaacfacb6141613bc99702cefd4ce5bb959a..86125bd917956903b879ec17d8a23461ab5e978e 100644
--- a/alfa-client/libs/wiedervorlage/jest.config.ts
+++ b/alfa-client/libs/wiedervorlage/jest.config.ts
@@ -29,6 +29,9 @@ export default {
 	preset: '../../jest.preset.js',
 	setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
 	globals: {},
+	coverageReporters: ["clover", "json", "lcov", "text", "text-summary"],
+	collectCoverage: false,
+	testResultsProcessor: "jest-sonar-reporter",
 	coverageDirectory: '../../coverage/libs/wiedervorlage',
 	snapshotSerializers: [
 		'jest-preset-angular/build/serializers/no-ng-attributes',
diff --git a/alfa-client/package.json b/alfa-client/package.json
index dbe0063274d3f522b718096045ac6bcc467bf76b..7b511bc4afe92f9596113ff809ecffc159340039 100644
--- a/alfa-client/package.json
+++ b/alfa-client/package.json
@@ -8,14 +8,14 @@
 		"start-for-screenreader": "nx run alfa:serve --host 192.168.178.20 --port 4300 --disable-host-check --verbose",
 		"start:devbe": "nx run alfa:serve --port 4300 --disable-host-check --proxy-config proxy.dev.conf.json --verbose",
 		"build": "nx run alfa:build",
-		"test": "nx run-many --target=test --all --parallel --maxParallel 8 --runInBand",
+		"test": "nx run-many --target=test --parallel 8 -- --runInBand",
 		"test:cov": "jest --coverage",
 		"test:lib": "nx test ${npm_config_lib} --watchAll",
 		"test:debug:lib": "nx test ${npm_config_lib} --detectOpenHandles --watchAll",
 		"ci-build": "nx run alfa:build --outputHashing=all",
 		"ci-prodBuild": "nx run alfa:build --outputHashing=all --configuration production",
-		"ci-test": "nx run-many --target=test --all --parallel --maxParallel 4 --runInBand --ci --testResultsProcessor='jest-sonar-reporter' --coverage",
-		"ci-sonar": "npm run sonar-scanner",
+		"ci-test": "nx run-many --target=test --parallel 8 -- --runInBand",
+		"ci-sonar": "nx run-many --target=test --parallel 4 -- --runInBand --codeCoverage && npx sonar-scanner",
 		"lint": "nx workspace-lint && nx lint",
 		"affected:apps": "nx affected:apps",
 		"affected:libs": "nx affected:libs",
@@ -38,8 +38,7 @@
 		"cypress:version": "npx cypress version",
 		"cypress:install": "npx cypress install",
 		"cypress:open": "npx cypress open --project apps/alfa-e2e",
-		"workspace-generator": "nx workspace-generator",
-		"sonar-scanner": "npm run ci-test && npx sonar-scanner"
+		"workspace-generator": "nx workspace-generator"
 	},
 	"private": true,
 	"dependencies": {
diff --git a/alfa-client/sonar-project.properties b/alfa-client/sonar-project.properties
index 8bc752489bb573557732ee37b930e83ccc412122..3691e580648857cc15c952b593401afa09c8c444 100644
--- a/alfa-client/sonar-project.properties
+++ b/alfa-client/sonar-project.properties
@@ -26,8 +26,10 @@ sonar.projectKey=alfa-client
 sonar.sources=apps/alfa/src,libs
 sonar.tests=apps/alfa/src,libs
 sonar.test.inclusions=**/*.spec.ts
-sonar.javascript.lcov.reportPaths=coverage/lcov.info
-sonar.testExecutionReportPaths=test-report.xml
+sonar.exclusions=**/node_modules/**
+sonar.inclusions=**/*.ts, **/*.scss, **/*.html
+sonar.javascript.lcov.reportPaths=coverage/**/lcov.info
+#sonar.testExecutionReportPaths=coverage/**/test-report.xml
 sonar.sourceEncoding=UTF-8
 sonar.projectName=Alfa Client
 sonar.host.url=https://sonarqube.ozg-sh.de