From f1e61ce405cf11ea77fe98abd5e10f7ed2d72611 Mon Sep 17 00:00:00 2001 From: sj108s Date: Tue, 13 Mar 2018 20:29:58 +0530 Subject: Fixed defects in test screen & updated test cases Fixed few defects raised by ST in test screen and also updated test cases to improve coverage. Also,changed code to match onap standards, and rectfied grep code violations. Issue-ID: APPC-730 Change-Id: I0286c38eb4f76dc8c0253a4ccab721b3ccfeff9d Signed-off-by: sj108s --- .../navigation/navigation.component.spec.ts | 91 ++++++++++++++++++++-- 1 file changed, 86 insertions(+), 5 deletions(-) (limited to 'src/app/shared/components/navigation') diff --git a/src/app/shared/components/navigation/navigation.component.spec.ts b/src/app/shared/components/navigation/navigation.component.spec.ts index c5a436b..9516e3d 100644 --- a/src/app/shared/components/navigation/navigation.component.spec.ts +++ b/src/app/shared/components/navigation/navigation.component.spec.ts @@ -21,11 +21,27 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property. ============LICENSE_END============================================ */ +import { async, ComponentFixture, TestBed, fakeAsync, tick, inject } from '@angular/core/testing'; +import { RouterTestingModule } from "@angular/router/testing"; +import { Router, ActivatedRoute } from "@angular/router"; +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/empty'; +import {DialogService} from 'ng2-bootstrap-modal'; +import {FormsModule} from '@angular/forms'; +import {HttpModule} from '@angular/http'; +import {HttpUtilService} from '../../../shared/services/httpUtil/http-util.service'; +import {MappingEditorService} from '../../..//shared/services/mapping-editor.service'; +import {NO_ERRORS_SCHEMA} from '@angular/core'; +import {NgModule} from '@angular/core'; +import {NgProgress} from 'ngx-progressbar'; +import {NgbModule} from '@ng-bootstrap/ng-bootstrap'; +import {NotificationService} from '../../../shared/services/notification.service'; +import {ParamShareService} from '../../..//shared/services/paramShare.service'; +import {SharedModule} from '../../../shared/shared.module'; +import {environment} from '../../../../environments/environment'; -/* tslint:disable:no-unused-variable */ -import {async, ComponentFixture, TestBed} from '@angular/core/testing'; - -import {NavigationComponent} from './navigation.component'; +import { NavigationComponent } from './navigation.component'; +import { EmitterService } from '../../services/emitter.service'; describe('NavigationComponent', () => { let component: NavigationComponent; @@ -33,7 +49,9 @@ describe('NavigationComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [NavigationComponent] + declarations: [NavigationComponent], + imports: [RouterTestingModule.withRoutes([]),FormsModule, RouterTestingModule, HttpModule, NgbModule.forRoot()], + providers: [] }) .compileComponents(); })); @@ -47,4 +65,67 @@ describe('NavigationComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should set userLoggedIn on ngOnInit', () => { + component.userId = 'testingId'; + + component.ngOnInit(); + }); + + it('should validate on ngOnChanges', () => { + let spy = spyOn(EmitterService, 'get').and.callFake( ({}) => { + return Observable.empty(); + }); + component.id = 'userLogin'; + + component.ngOnChanges(); + + expect(spy).toHaveBeenCalled(); + }); + + it('should go to /vnfs/list if url = vnfs and userId is not null or undefined', inject([Router],(router: Router) => { + let navigateSpy = spyOn(router, 'navigate'); + localStorage['userId'] = 'testingId'; + let testUrl = 'vnfs'; + + component.gotoDetail(testUrl); + })); + + it('should go to /vnfs if url = vnfs and userId is null or undefined', inject([Router],(router: Router) => { + let navigateSpy = spyOn(router, 'navigate'); + localStorage['userId'] = ''; + let testUrl = 'vnfs'; + + component.gotoDetail(testUrl); + })); + + it('should go to passed url if url != vnfs', inject([Router],(router: Router) => { + let navigateSpy = spyOn(router, 'navigate'); + let testUrl = 'test'; + + component.gotoDetail(testUrl); + })); + + it('should logout', inject([Router],(router: Router) => { + let navigateSpy = spyOn(router, 'navigate'); + + component.logout(); + })); + it('should ngOnChanges', () => { + component.id="uday" + component.ngOnChanges() + expect(component.userLoggedIn).toBeFalsy(); + }); + it('should ngOnInit()', () => { + localStorage['userId']="uday" + component.ngOnInit() + expect(component.userLoggedIn).toBeTruthy(); + }); + it('should gotoDetail(url)', () => { + component.gotoDetail('vnfs') + }); + it('should logout()', () => { + component.logout() + expect(component.userLoggedIn).toBeFalsy(); + }); }); -- cgit 1.2.3-korg