Added spec file for loginGuardService 17/57517/2
authorArundathi Patil <arundpil@in.ibm.com>
Wed, 25 Jul 2018 11:47:05 +0000 (17:17 +0530)
committerTakamune Cho <tc012c@att.com>
Thu, 26 Jul 2018 13:17:19 +0000 (13:17 +0000)
Wrote test cases for loginGuardService

Issue-ID: APPC-1064
Change-Id: I9b742c860aa6a523b1c858380e8a025a621f01fd
Signed-off-by: Arundathi Patil <arundpil@in.ibm.com>
src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts [new file with mode: 0644]

diff --git a/src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts b/src/app/vnfs/LoginGuardService/LoginGuardService.spec.ts
new file mode 100644 (file)
index 0000000..5e41d90
--- /dev/null
@@ -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);
+    }));
+});