OK-513 Unit Test added
diff --git a/src/app/common-components/main-navigation/main-navigation.component.spec.ts b/src/app/common-components/main-navigation/main-navigation.component.spec.ts
index 678a533..f6114b3 100644
--- a/src/app/common-components/main-navigation/main-navigation.component.spec.ts
+++ b/src/app/common-components/main-navigation/main-navigation.component.spec.ts
@@ -31,12 +31,14 @@
   let fixture: ComponentFixture<MainNavigationComponent>;
   let routerStub: FakeRouter;
   let router: Router;
+  let sessionContext: SessionContext;
 
   routerStub = {
     navigate: jasmine.createSpy('navigate').and.callThrough()
   };
 
   beforeEach(async(() => {
+    sessionContext = new SessionContext();
     router = new FakeRouter() as any as Router;
     TestBed.configureTestingModule({
       imports: [
@@ -50,7 +52,7 @@
       providers: [
         { provide: Router, useValue: routerStub },
         { provide: MdDialog, useClass: MdDialog },
-        { provide: SessionContext, useClass: SessionContext }
+        { provide: SessionContext, useValue: sessionContext }
       ]
     })
       .compileComponents();
@@ -96,8 +98,9 @@
   });
 
   it('should navigate to mainview on logout', () => {    
+    spyOn(sessionContext, 'clearStorage').and.callThrough();
     component.logout();
-    expect(routerStub.navigate).toHaveBeenCalledWith(['/']);
+    expect(sessionContext.clearStorage).toHaveBeenCalled();    
   });
 
 });
diff --git a/src/app/common-components/main-navigation/main-navigation.component.ts b/src/app/common-components/main-navigation/main-navigation.component.ts
index 3a1d5d3..7dbdc5c 100644
--- a/src/app/common-components/main-navigation/main-navigation.component.ts
+++ b/src/app/common-components/main-navigation/main-navigation.component.ts
@@ -51,8 +51,7 @@
   }
 
   logout() {
-    this.sessionContext.clearStorage();
-    this.router.navigate(['/']);
+    this.sessionContext.clearStorage();    
   }
 
   goToReminderPage() {
diff --git a/src/app/dialogs/logout/logout.component.spec.ts b/src/app/dialogs/logout/logout.component.spec.ts
index 7043f47..1d5f577 100644
--- a/src/app/dialogs/logout/logout.component.spec.ts
+++ b/src/app/dialogs/logout/logout.component.spec.ts
@@ -7,6 +7,8 @@
 import { LogoutComponent } from './logout.component';
 import { MessageService } from '../../services/message.service';
 import { Router } from '@angular/router';
+import { AuthenticationService } from '../../services/authentication.service';
+import { Observable } from 'rxjs/Observable';
 
 class FakeRouter {
   navigate(commands: any[]) {
@@ -14,48 +16,89 @@
   }
 }
 
+class MockAuthService extends AbstractMockObservableService {
+
+  logout() {
+    return this;
+  }
+}
+
+class MockDialogRef extends AbstractMockObservableService {
+  config: MdDialogConfigMock;
+  close() { }
+}
+
+class MdDialogConfigMock {
+  data: any;
+}
+
+class MockMainNavigation {
+  logout() { }
+}
+
 describe('LogoutComponent', () => {
   let component: LogoutComponent;
   let fixture: ComponentFixture<LogoutComponent>;
   let routerStub: FakeRouter;
   let messageService;
   let router: Router;
-  
-    routerStub = {
-      navigate: jasmine.createSpy('navigate').and.callThrough()
-    };
+  let mockAuthService;  
+  let mockDialog: MockDialogRef;
 
-  class MockDialogRef extends AbstractMockObservableService {
-    close() { }
-  }
+  routerStub = {
+    navigate: jasmine.createSpy('navigate').and.callThrough()
+  };
+
 
   beforeEach(async(() => {
-    messageService = new MessageService();
-    router = new FakeRouter() as any as Router;
+    mockAuthService = new MockAuthService();
+    mockDialog = new MockDialogRef();
+    messageService = new MessageService();    
+    router = new FakeRouter() as any as Router;    
 
     TestBed.configureTestingModule({
-      declarations: [ LogoutComponent ],
-      providers: [
-        { provide: MdDialogRef, useClass: MockDialogRef },
+      declarations: [LogoutComponent],
+      providers: [            
+        { provide: AuthenticationService, useValue: mockAuthService },
+        { provide: MdDialogRef, useValue: mockDialog },
         { provide: Router, useValue: routerStub },
-        { provide: MessageService, useValue: messageService }       
+        { provide: MessageService, useValue: messageService }
       ]
     })
-    .compileComponents();
+      .compileComponents();
   }));
 
-  beforeEach(() => {
+  beforeEach(() => {    
     fixture = TestBed.createComponent(LogoutComponent);
-    component = fixture.componentInstance;
+    component = fixture.componentInstance;    
+  });
+
+  it('should navigate to logout page on abmelden click', async(() => {          
+    const configMock: MdDialogConfigMock  = new MdDialogConfigMock();
+    const mockMainNav: MockMainNavigation  = new MockMainNavigation();
+    configMock.data = mockMainNav;    
+    mockDialog.config = configMock;
+
+    mockAuthService.content = Observable.of('');    
     fixture.detectChanges();
-  });
 
-  /*
-  fit('should navigate to logout page on abmelden click', () => {
     component.logout();
+    fixture.detectChanges();
     expect(routerStub.navigate).toHaveBeenCalledWith(['/logout']);
-  });
-  */
+  }));
 
+  it('shouldnt navigate to logout page on error', async(() => {          
+    const configMock: MdDialogConfigMock  = new MdDialogConfigMock();
+    const mockMainNav: MockMainNavigation  = new MockMainNavigation();
+    configMock.data = mockMainNav;    
+    mockDialog.config = configMock;
+
+    mockAuthService.error = 'MOCKERROR';
+    fixture.detectChanges();
+
+    component.logout();
+    fixture.detectChanges();
+    expect(routerStub.navigate).toHaveBeenCalledWith(['/logout']);
+  }));  
 
 });