4eca8263a218199e04448bee4c89c0cc2bde1cf1
[portal/sdk.git] /
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal SDK
4  * ===================================================================
5  * Copyright (C) 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
41 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
42 import {FormsModule} from '@angular/forms';
43 import { NewRoleComponent } from './new-role.component';
44 import { MatTableModule } from '@angular/material'  
45 import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
46 import { HttpClientTestingModule } from '@angular/common/http/testing';
47 import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap';
48 import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component';
49 import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing';
50 import { AdminService } from '../../admin.service';
51 import { Observable } from 'rxjs';
52 import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component';
53
54 describe('NewRoleComponent', () => {
55   let component: NewRoleComponent;
56   let fixture: ComponentFixture<NewRoleComponent>;
57   let role1 = "";
58   let adminService:AdminService;
59   var _element={
60                 "selected":false,
61                 "code":"code",
62                 "type":"type",
63                 "action":"action"
64                 };
65
66   beforeEach(async(() => {
67     TestBed.configureTestingModule({
68       providers: [NgbActiveModal,AdminService],
69       schemas: [CUSTOM_ELEMENTS_SCHEMA] ,
70       declarations: [ 
71         NewRoleComponent,
72         ConfirmationModalComponent,
73         InformationModalComponent
74        ],
75       imports: [
76         FormsModule,
77          MatTableModule, 
78          HttpClientTestingModule,
79          NgbModule.forRoot()
80         ]
81     })
82     TestBed.overrideModule(BrowserDynamicTestingModule,{
83       set:{
84         entryComponents:[ConfirmationModalComponent,InformationModalComponent]
85       }
86     })
87     .compileComponents();
88   }));
89
90   beforeEach(() => {
91     fixture = TestBed.createComponent(NewRoleComponent);
92     component = fixture.componentInstance;
93     component.role = role1;
94     fixture.detectChanges();
95     adminService=TestBed.get(AdminService);
96   });
97
98   it('should create', () => {
99     expect(component).toBeTruthy();
100   });
101
102   it('should test delRoleFunctionConfirmPopUp method',()=>{
103     component.delRoleFunctionConfirmPopUp("abc","def");
104   })
105
106   it('should test else condition in saveChanges method',()=>{
107     spyOn(adminService,'saveRole').and.returnValue(Observable.of('your object'));
108     component.saveChanges()
109   })
110
111   it('should test toggleRoleFunction method',()=>{
112     component.finalSelectedRoleFunctions="Indrijeet kuma";
113     component.ociavailableRoleFunctions="i";
114     component.finalSelectedRoleFunctions="k";
115     component.toggleRoleFunction(_element)
116   })
117
118   it('should test populateTableData method',()=>{
119     component.populateTableData("populateTableData");
120     expect(component.roleFunctionDataSource.sort).toEqual(component.sort);
121     expect(component.roleFunctionDataSource.paginator).toEqual(component.paginator)
122   })
123
124   it('should test isRoleAlreadyExist method',()=>{
125     component.availableRoles={"name":["currentRoleName"]};
126     component.isRoleAlreadyExist("currentRoleName")
127   })
128
129   it('it should test openConfirmationModal method',()=>{
130     component.openConfirmationModal("test","value");
131   })
132 });