[KON-13]: Total commit after codereview

Signed-off-by: Dennis Schmitt <dennis.schmitt@pta.de>
diff --git a/i18n/contacts.de.json b/i18n/contacts.de.json
index 2906142..e1aa16e 100644
--- a/i18n/contacts.de.json
+++ b/i18n/contacts.de.json
@@ -22,6 +22,9 @@
     "CommunicationsDataList": "Kommunikationskanäle",
     "ModuleAssignment": "Modulzuordnung",
     "AllModuleAssignments": "Alle Modulzuordnungen",
-    "WithoutModuleAssignment": "Keine Modulzuordnung"
+    "WithoutModuleAssignment": "Keine Modulzuordnung",
+    "DSGVO-advanced-filter": "DSGVO - Filtererweiterung",
+    "DSGVO-advanced-filter-deletion-lock-exceeded": "Filterung nach Kontakten mit abgelaufener Löschsperre",
+    "DSGVO-advanced-filter-expiring-data-in-past": "Filterung nach Kontakten mit überschrittenem Ablaufdatum"
   }
 }
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.html b/src/app/pages/contacts/contacts-list/contacts-list.component.html
index 06cdb55..da3c971 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.html
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.html
@@ -42,7 +42,7 @@
             type="button"
             class="btn btn-default btn-sm"
             (click)="isDSGVOFilterAdvancedVisible = !isDSGVOFilterAdvancedVisible"
-            title="DSGVO - Filtererweiterung"
+            title="{{ 'Contacts.DSGVO-advanced-filter' | translate }}"
           >
             DSGVO
           </button>
@@ -59,11 +59,12 @@
               <option [value]="''" selected>{{ 'Contacts.AllModuleAssignments' | translate }}</option>
             </select>
 
-            <div class="dsgvo-filter-item custom-control custom-switch" title="Filterung nach Kontakten mit überschrittenem Ablaufdatum">
+            <div class="dsgvo-filter-item custom-control custom-switch" title="{{ 'Contacts.}DSGVO-advanced-filter-expiring-data-in-past' | translate }">
               <input type="checkbox" class="custom-control-input" id="expiry-date" (change)="setModifiedContactsExpiryDateFilter(); searchContacts($event)" />
               <label class="custom-control-label" style="position: 0px;" for="expiry-date"></label>
             </div>
-            <div class="dsgvo-filter-item custom-control custom-switch" title="Filterung nach Kontakten mit abgelaufener Löschsperre">
+
+            <div class="dsgvo-filter-item custom-control custom-switch" title="{{ 'Contacts.DSGVO-advanced-filter-deletion-lock-exceeded' | translate }}">
               <input
                 type="checkbox"
                 class="custom-control-input"
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
index 295e22f..222b05f 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.spec.ts
@@ -17,11 +17,12 @@
 describe('ContactsListComponent', () => {
   let component: ContactsListComponent;
   let contactsSandbox: any = {};
+  let userModuleAssignmentSandbox: any = {};
   let router: any = {};
 
   beforeEach(() => {
     router = { navigateByUrl() {}, navigate() {} } as any;
-    component = new ContactsListComponent(contactsSandbox, router);
+    component = new ContactsListComponent(contactsSandbox, userModuleAssignmentSandbox, router);
   });
 
   it('should create', () => {
@@ -170,7 +171,7 @@
     expect((component as any)._sortingOrder).toBe('asc');
   });
 
-  it('checks if function _setModifiedContactsSortProperty() works', () => {
+  it('checks if function _setModifiedContactsSort() works', () => {
     component.setSortingContactType('name');
     (component as any)._setModifiedContactsSort();
     expect(component.modifiedContacts.sort).toBe('name,asc');
@@ -183,4 +184,31 @@
     (component as any)._setModifiedContactsSort();
     expect(component.modifiedContacts.sort).toBe(null);
   });
+
+  it('checks if function setModifiedContactsExpiryDateFilter() works', () => {
+    expect(component.modifiedContacts.expiringDataInPast).toBeFalsy();
+    component.setModifiedContactsExpiryDateFilter();
+    expect(component.modifiedContacts.expiringDataInPast).toBeTruthy();
+  });
+
+  it('checks if function setModifiedContactsDeletionLockExceedFilter() works', () => {
+    expect(component.modifiedContacts.deletionLockExceeded).toBeFalsy();
+    component.setModifiedContactsDeletionLockExceedFilter();
+    expect(component.modifiedContacts.deletionLockExceeded).toBeTruthy();
+  });
+
+  it('checks if function setModifiedContactsModuleAssignmentFilter() works', () => {
+    let moduleName = '-1';
+    component.setModifiedContactsModuleAssignmentFilter(moduleName);
+    expect(component.modifiedContacts.moduleName).toBe(null);
+    expect(component.modifiedContacts.withoutAssignedModule).toBeTruthy();
+    moduleName = '';
+    component.setModifiedContactsModuleAssignmentFilter(moduleName);
+    expect(component.modifiedContacts.moduleName).toBe(null);
+    expect(component.modifiedContacts.withoutAssignedModule).toBeFalsy();
+    moduleName = 'Betriebstagebuch';
+    component.setModifiedContactsModuleAssignmentFilter(moduleName);
+    expect(component.modifiedContacts.moduleName).toBe(moduleName);
+    expect(component.modifiedContacts.withoutAssignedModule).toBeFalsy();
+  });
 });
diff --git a/src/app/pages/contacts/contacts-list/contacts-list.component.ts b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
index 7d7064a..56a3d9e 100644
--- a/src/app/pages/contacts/contacts-list/contacts-list.component.ts
+++ b/src/app/pages/contacts/contacts-list/contacts-list.component.ts
@@ -17,7 +17,7 @@
 import { Router } from '@angular/router';
 import { Globals } from '@shared/constants/globals';
 import { ModifiedContacts } from '@shared/models/modifiedContacts.model';
-import { UserModuleAssignmentSandBox } from './../../../shared/components/list-details-view/user-module-assignment/user-module-assignment.sandbox';
+import { UserModuleAssignmentSandBox } from '@shared/components/list-details-view/user-module-assignment/user-module-assignment.sandbox';
 import { ofType } from '@ngrx/effects';
 
 @Component({
@@ -111,12 +111,15 @@
 
   public setModifiedContactsModuleAssignmentFilter(moduleName: string) {
     if (moduleName === '-1') {
+      //show contacts without module assignments
       this.modifiedContacts.moduleName = null;
       this.modifiedContacts.withoutAssignedModule = true;
     } else if (moduleName == '') {
+      //show contacts with all module assignments
       this.modifiedContacts.moduleName = null;
       this.modifiedContacts.withoutAssignedModule = false;
     } else {
+      //show contacts with specific module assignments
       this.modifiedContacts.moduleName = moduleName;
       this.modifiedContacts.withoutAssignedModule = false;
     }