Merge branch 'DEVELOP_FE' of ssh://git.eclipse.org:29418/elogbook/elogbookFE into DEVELOP_FE
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 691d136..b1ffff5 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts
@@ -16,7 +16,6 @@ import { ImportFileCallerService } from './services/jobs/import-file-caller.service'; import { BannerMessage } from './common/banner-message'; import { BannerMessageStatusEn } from './common/enums'; - @Component({ selector: 'app-root', templateUrl: './app.component.html', @@ -29,8 +28,8 @@ constructor(private http: Http, public router: Router, public baseDataLoader: BaseDataLoaderService, - private activatedRoute: ActivatedRoute, - public httpInterceptor: HttpResponseInterceptorService, + private activatedRoute: ActivatedRoute, + public httpInterceptor: HttpResponseInterceptorService, private sessionContext: SessionContext, private messageService: MessageService, public reminderCallerJobService: ReminderCallerJobService,
diff --git a/src/app/dialogs/logout/logout.component.ts b/src/app/dialogs/logout/logout.component.ts index e8162c4..46fc818 100644 --- a/src/app/dialogs/logout/logout.component.ts +++ b/src/app/dialogs/logout/logout.component.ts
@@ -1,6 +1,7 @@ import { Component, Optional } from '@angular/core'; import { MdDialogRef } from '@angular/material'; import { MessageService, MessageDefines } from '../../services/message.service'; +import { AuthenticationService } from '../../services/authentication.service'; import { Router } from '@angular/router'; @Component({ @@ -13,14 +14,19 @@ constructor( @Optional() public dialogRef: MdDialogRef<LogoutComponent>, private msgService: MessageService, - private router: Router) { - - } + private authService: AuthenticationService, + private router: Router) {} logout() { - this.dialogRef.config.data.logout(); - this.msgService.loginLogoff$.emit(MessageDefines.MSG_LOG_OFF); - this.dialogRef.close(); - this.router.navigate(['/logout']); + this.authService.logout().subscribe(res => { + this.dialogRef.config.data.logout(); + this.msgService.loginLogoff$.emit(MessageDefines.MSG_LOG_OFF); + this.dialogRef.close(); + this.router.navigate(['/logout']); + }, + error => { + console.log(error); + } + ); } }
diff --git a/src/app/services/authentication.service.spec.ts b/src/app/services/authentication.service.spec.ts index c64ddc3..41860eb 100644 --- a/src/app/services/authentication.service.spec.ts +++ b/src/app/services/authentication.service.spec.ts
@@ -70,35 +70,6 @@ const options = new ResponseOptions({status: 200, body: fakeUser, headers: successHeaders} ); response = new Response(options); })); - it('should have expected fake user (then)', async(inject([], () => { - backend.connections.subscribe((c: MockConnection) => c.mockRespond(response)); - - service.login( fakeCreds ).toPromise() - .then( user => { - expect(user.id).toBe(44); - expect(user.username).toBe('carlo'); - expect(user.password).toBe('serverPwd'); - expect(user.name).toBe('Carlo Cottura'); - expect(user.specialUser).toBe(true); - expect(sessionContext.getCurrSessionId()).toBe('SuperVALID!'); - }); - }))); - - it('should treat 404 as an Observable error', async(inject([], () => { - const resp = new Response(new ResponseOptions({status: 404, body: {} })); - - backend.connections.subscribe((c: MockConnection) => c.mockRespond(resp)); - - service.login(fakeCreds) - .do(user => { - fail('should not respond with user'); - }) - .catch(err => { - const str = err; - expect(err).toMatch('Bad response status', 'should catch bad response status code'); - return Observable.of(null); // failure is the expected test result - }) - .toPromise(); - }))); + }); });
diff --git a/src/app/services/authentication.service.ts b/src/app/services/authentication.service.ts index 15990f8..9ab8024 100644 --- a/src/app/services/authentication.service.ts +++ b/src/app/services/authentication.service.ts
@@ -21,10 +21,10 @@ super(messageService); } - public login(creds: LoginCredentials): Observable<any> { + public logout(): Observable<any> { const headers = new Headers(); this.createCommonHeaders(headers, this._sessionContext); - return this._http.post(super.getBaseUrl() + '/login', creds, { headers: headers }) + return this._http.get(super.getBaseUrl() + '/logout', { headers: headers }) .map(res => { super.extractSessionId(res.headers, this._sessionContext); return super.extractData(res, this._sessionContext);