From fd6026bdab400c36f951a4eacf1041f2a9a49ba3 Mon Sep 17 00:00:00 2001 From: Arundathi Patil Date: Wed, 25 Jul 2018 17:17:05 +0530 Subject: Added spec file for loginGuardService Wrote test cases for loginGuardService Issue-ID: APPC-1064 Change-Id: I9b742c860aa6a523b1c858380e8a025a621f01fd Signed-off-by: Arundathi Patil --- .../LoginGuardService/LoginGuardService.spec.ts | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts (limited to 'src/app') diff --git a/src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts b/src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts new file mode 100644 index 0000000..5e41d90 --- /dev/null +++ b/src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts @@ -0,0 +1,60 @@ +/* +============LICENSE_START========================================== +=================================================================== +Copyright (C) 2018 IBM Intellectual Property. All rights reserved. +=================================================================== + +Unless otherwise specified, all software contained herein is licensed +under the Apache License, Version 2.0 (the License); +you may not use this software 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. + +ECOMP is a trademark and service mark of AT&T Intellectual Property. +============LICENSE_END============================================ +*/ + +import { async, TestBed, inject } from '@angular/core/testing'; +import { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; +import {FormsModule} from '@angular/forms'; +import {HttpModule} from '@angular/http'; +import {CommonModule} from '@angular/common'; +import 'rxjs/Rx'; +import 'rxjs/add/observable/throw'; +import 'rxjs/add/operator/map'; +import {NgbModal} from '@ng-bootstrap/ng-bootstrap'; +import { LoginGuardService } from './Login-guard-service'; +import {MappingEditorService} from '../../shared/services/mapping-editor.service'; + +describe('LogginGuard', () => { + let routerMock = { + navigate: jasmine.createSpy('navigate') + }; + let loggedInGuard: LoginGuardService; + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [FormsModule, CommonModule, HttpModule], + providers: [LoginGuardService, NgbModal, MappingEditorService, {provide: Router, useValue: routerMock}] + }); + TestBed.compileComponents(); + }); + + beforeEach(() => { + loggedInGuard = TestBed.get(LoginGuardService); + }); + + it('be able to hit route when user is logged in', inject([LoginGuardService], (service: LoginGuardService) => { + localStorage['userId'] = 'abc@xyz.com'; + let route : ActivatedRouteSnapshot; + let state: RouterStateSnapshot; + expect(service.canActivate(route, state)).toBe(true); + })); +}); -- cgit 1.2.3-korg