diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.spec.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.spec.ts new file mode 100644 index 0000000000..be69f7a0a1 --- /dev/null +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.spec.ts @@ -0,0 +1,69 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AlfrescoSettingsService } from './alfresco-settings.service'; +import { AlfrescoAuthenticationService } from './alfresco-authentication.service'; +import { AlfrescoApiService } from './alfresco-api.service'; +import { StorageService } from './storage.service'; +import { LogService } from './log.service'; +import { AuthGuardBpm } from './auth-guard-bpm.service'; +import { Router} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TestBed, async, inject } from '@angular/core/testing'; + +describe('AuthGuardService BPM', () => { + + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AuthGuardBpm, + AlfrescoSettingsService, + AlfrescoApiService, + AlfrescoAuthenticationService, + StorageService, + LogService], + imports: [RouterTestingModule] + }); + }); + + it('if the alfresco js api is logged in should canActivate be true', + async(inject([AuthGuardBpm, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + spyOn(router, 'navigate'); + + authService.isBpmLoggedIn = () => { + return true; + }; + + expect(auth.canActivate()).toBeTruthy(); + expect(router.navigate).not.toHaveBeenCalled(); + })) + ); + + it('if the alfresco js api is NOT logged in should canActivate be false', + async(inject([AuthGuardBpm, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + + spyOn(router, 'navigate'); + + authService.isBpmLoggedIn = () => { + return false; + }; + + expect(auth.canActivate()).toBeFalsy(); + expect(router.navigate).toHaveBeenCalled(); + })) + ); + +}); diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.ts index f2b8d5e354..538c21a7e8 100644 --- a/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.ts +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard-bpm.service.ts @@ -29,16 +29,16 @@ export class AuthGuardBpm implements CanActivate, CanActivateChild { constructor(private authService: AlfrescoAuthenticationService, private router: Router) {} canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { - let url: string = state.url; + // let url: string = state.url; - return this.checkLogin(url); + return this.checkLogin(); } canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { return this.canActivate(route, state); } - checkLogin(url: string): boolean { + checkLogin(): boolean { if (this.authService.isBpmLoggedIn()) { return true; } diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.spec.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.spec.ts new file mode 100644 index 0000000000..6abb94e241 --- /dev/null +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.spec.ts @@ -0,0 +1,69 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AlfrescoSettingsService } from './alfresco-settings.service'; +import { AlfrescoAuthenticationService } from './alfresco-authentication.service'; +import { AlfrescoApiService } from './alfresco-api.service'; +import { StorageService } from './storage.service'; +import { LogService } from './log.service'; +import { AuthGuardEcm } from './auth-guard-ecm.service'; +import { Router} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TestBed, async, inject } from '@angular/core/testing'; + +describe('AuthGuardService ECM', () => { + + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AuthGuardEcm, + AlfrescoSettingsService, + AlfrescoApiService, + AlfrescoAuthenticationService, + StorageService, + LogService], + imports: [RouterTestingModule] + }); + }); + + it('if the alfresco js api is logged in should canActivate be true', + async(inject([AuthGuardEcm, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + spyOn(router, 'navigate'); + + authService.isEcmLoggedIn = () => { + return true; + }; + + expect(auth.canActivate()).toBeTruthy(); + expect(router.navigate).not.toHaveBeenCalled(); + })) + ); + + it('if the alfresco js api is NOT logged in should canActivate be false', + async(inject([AuthGuardEcm, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + + spyOn(router, 'navigate'); + + authService.isEcmLoggedIn = () => { + return false; + }; + + expect(auth.canActivate()).toBeFalsy(); + expect(router.navigate).toHaveBeenCalled(); + })) + ); + +}); diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.ts index ec9319bef7..52d27057fb 100644 --- a/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.ts +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard-ecm.service.ts @@ -29,16 +29,16 @@ export class AuthGuardEcm implements CanActivate, CanActivateChild { constructor(private authService: AlfrescoAuthenticationService, private router: Router) {} canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { - let url: string = state.url; + // let url: string = state.url; - return this.checkLogin(url); + return this.checkLogin(); } canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { return this.canActivate(route, state); } - checkLogin(url: string): boolean { + checkLogin(): boolean { if (this.authService.isEcmLoggedIn()) { return true; } diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.spec.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.spec.ts new file mode 100644 index 0000000000..c0de8ef28c --- /dev/null +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.spec.ts @@ -0,0 +1,69 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AlfrescoSettingsService } from './alfresco-settings.service'; +import { AlfrescoAuthenticationService } from './alfresco-authentication.service'; +import { AlfrescoApiService } from './alfresco-api.service'; +import { StorageService } from './storage.service'; +import { LogService } from './log.service'; +import { AuthGuard } from './auth-guard.service'; +import { Router} from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { TestBed, async, inject } from '@angular/core/testing'; + +describe('AuthGuardService', () => { + + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AuthGuard, + AlfrescoSettingsService, + AlfrescoApiService, + AlfrescoAuthenticationService, + StorageService, + LogService], + imports: [RouterTestingModule] + }); + }); + + it('if the alfresco js api is logged in should canActivate be true', + async(inject([AuthGuard, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + spyOn(router, 'navigate'); + + authService.isLoggedIn = () => { + return true; + }; + + expect(auth.canActivate()).toBeTruthy(); + expect(router.navigate).not.toHaveBeenCalled(); + })) + ); + + it('if the alfresco js api is NOT logged in should canActivate be false', + async(inject([AuthGuard, Router, AlfrescoSettingsService, StorageService, AlfrescoAuthenticationService], (auth, router, settingsService, storage, authService) => { + + spyOn(router, 'navigate'); + + authService.isLoggedIn = () => { + return false; + }; + + expect(auth.canActivate()).toBeFalsy(); + expect(router.navigate).toHaveBeenCalled(); + })) + ); + +}); diff --git a/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.ts b/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.ts index 3b9156ec9d..ccb52e16cf 100644 --- a/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.ts +++ b/ng2-components/ng2-alfresco-core/src/services/auth-guard.service.ts @@ -29,16 +29,16 @@ export class AuthGuard implements CanActivate, CanActivateChild { constructor(private authService: AlfrescoAuthenticationService, private router: Router) {} canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { - let url: string = state.url; + // let url: string = state.url; - return this.checkLogin(url); + return this.checkLogin(); } canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { return this.canActivate(route, state); } - checkLogin(url: string): boolean { + checkLogin(): boolean { if (this.authService.isLoggedIn()) { return true; }