mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
Fix logout problem
This commit is contained in:
@@ -203,6 +203,28 @@ describe('AlfrescoAuthentication', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should logout only for if the provider is loggedin', (done) => {
|
||||||
|
let providers = ['BPM', 'ECM'];
|
||||||
|
let alfSetting = injector.get(AlfrescoSettingsService);
|
||||||
|
alfSetting.providers = providers;
|
||||||
|
|
||||||
|
service = injector.get(AlfrescoAuthenticationService);
|
||||||
|
localStorage.setItem('ticket-ECM', 'fake-post-ticket-ECM');
|
||||||
|
service.createProviderInstance(providers);
|
||||||
|
spyOn(AlfrescoAuthenticationECM.prototype, 'callApiLogout').and.returnValue(fakePromiseECM);
|
||||||
|
service.performeSaveToken('ECM', 'fake-ticket-ECM');
|
||||||
|
service.logout()
|
||||||
|
.subscribe(() => {
|
||||||
|
expect(service.isLoggedIn(providers[0])).toBe(false);
|
||||||
|
expect(service.getTicket(providers[0])).toBeUndefined();
|
||||||
|
expect(localStorage.getItem('ticket-ECM')).toBeUndefined();
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
it('should return an error if no provider are defined calling the logout', (done) => {
|
it('should return an error if no provider are defined calling the logout', (done) => {
|
||||||
let providers = [];
|
let providers = [];
|
||||||
let alfSetting = injector.get(AlfrescoSettingsService);
|
let alfSetting = injector.get(AlfrescoSettingsService);
|
||||||
|
@@ -152,7 +152,9 @@ export class AlfrescoAuthenticationService extends AlfrescoAuthenticationBase {
|
|||||||
private performLogout(): Observable<any> {
|
private performLogout(): Observable<any> {
|
||||||
let observableBatch = [];
|
let observableBatch = [];
|
||||||
this.providersInstance.forEach((authInstance) => {
|
this.providersInstance.forEach((authInstance) => {
|
||||||
observableBatch.push(authInstance.logout());
|
if (authInstance.isLoggedIn()) {
|
||||||
|
observableBatch.push(authInstance.logout());
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return Observable.create(observer => {
|
return Observable.create(observer => {
|
||||||
Observable.forkJoin(observableBatch).subscribe(
|
Observable.forkJoin(observableBatch).subscribe(
|
||||||
|
Reference in New Issue
Block a user