ecbbcc6066a29aea5dde4b879eb809562ef920a2
[portal/sdk.git] /
1 /*
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
4  * ===================================================================
5  * Copyright © 2019 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  * * Modification Copyright © 2020 IBM.
8  * ===================================================================
9  * 
10  * Unless otherwise specified, all software contained herein is licensed
11  * under the Apache License, Version 2.0 (the "License");
12  * you may not use this software except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  *             http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  *
23  * Unless otherwise specified, all documentation contained herein is licensed
24  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
25  * you may not use this documentation except in compliance with the License.
26  * You may obtain a copy of the License at
27  *
28  *             https://creativecommons.org/licenses/by/4.0/
29  *
30  * Unless required by applicable law or agreed to in writing, documentation
31  * distributed under the License is distributed on an "AS IS" BASIS,
32  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
33  * See the License for the specific language governing permissions and
34  * limitations under the License.
35  *
36  * ============LICENSE_END============================================
37  *
38  * 
39  */
40 import { async, ComponentFixture, TestBed, inject } from '@angular/core/testing';
41 import { RouterTestingModule } from '@angular/router/testing';
42 import { TranslateModule } from '@ngx-translate/core';
43 import { HttpClientModule } from '@angular/common/http'; 
44
45 import { HeaderComponent } from './header.component';
46 import { LayoutModule } from '../../layout.module';
47 import { CookieService } from 'ngx-cookie-service';
48 import { HeaderService } from 'src/app/shared/services/header/header.service';
49 import { HttpClientTestingModule } from '@angular/common/http/testing';
50 import { Router } from '@angular/router';
51 import { MockBackend, MockConnection } from '@angular/http/testing';
52 //import { observable, Observable } from 'rxjs';
53 import 'rxjs/add/observable/of';
54 import { Observable } from 'rxjs/Observable';
55 import { BaseRequestOptions, Http } from '@angular/http';
56
57 describe('HeaderComponent', () => {
58   let headerService:HeaderService;
59   let cookieService:CookieService;
60   let router:Router;
61   let component: HeaderComponent;
62   let fixture: ComponentFixture<HeaderComponent>;
63   let spy: any;
64
65   beforeEach(async(() => {
66     TestBed.configureTestingModule({
67       imports: [
68         LayoutModule,
69         RouterTestingModule,
70         TranslateModule.forRoot(),
71         HttpClientModule,
72         HttpClientTestingModule
73       ],
74       providers:[CookieService,HeaderService,MockBackend, BaseRequestOptions, {
75         provide: Http,
76                     useFactory: (backend: MockBackend, defaultOptions: BaseRequestOptions) => {
77                         return new Http(backend, defaultOptions);
78                     },
79                     deps: [MockBackend, BaseRequestOptions],
80       }]
81     })
82     .compileComponents();
83   }));
84
85   beforeEach(() => {
86     fixture = TestBed.createComponent(HeaderComponent);
87     component = fixture.componentInstance;
88     fixture.detectChanges();
89     headerService = TestBed.get(HeaderService);
90     cookieService=TestBed.get(CookieService);
91     
92   });
93
94   it('should create', () => {
95     expect(component).toBeTruthy();
96   });
97
98   describe('should test ngOnInit',()=>{
99     it('should validate on ngOnInit',()=>{
100      let spy=spyOn(headerService, 'getTopMenuItems').and.returnValue(Observable.of('you object'));
101      component.ngOnInit();
102      expect(spy).toHaveBeenCalled();
103     })
104   })
105
106
107   it('should test isToggled method',()=>{
108     expect(component.isToggled()).toBe(false);  
109   })
110
111   it('should test toggleSidebar method',()=>{
112     component.pushRightClass="kumar";
113     expect(component.toggleSidebar()).toBeUndefined;
114   })
115
116   it('should test on onLoggedout method',()=>{
117      expect(localStorage.getItem('isLoggedin')).toBeFalsy
118   })
119
120   
121 });