Fixed the test cases,added sonar config
[portal.git] / portal-FE-os / src / app / pages / users / new-user-modal / new-user-modal.component.spec.ts
1 /*-
2  * ============LICENSE_START==========================================
3  * ONAP Portal
4  * ===================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6  * ===================================================================
7  *
8  * Unless otherwise specified, all software contained herein is licensed
9  * under the Apache License, Version 2.0 (the "License");
10  * you may not use this software except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *             http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  * Unless otherwise specified, all documentation contained herein is licensed
22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
23  * you may not use this documentation except in compliance with the License.
24  * You may obtain a copy of the License at
25  *
26  *             https://creativecommons.org/licenses/by/4.0/
27  *
28  * Unless required by applicable law or agreed to in writing, documentation
29  * distributed under the License is distributed on an "AS IS" BASIS,
30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31  * See the License for the specific language governing permissions and
32  * limitations under the License.
33  *
34  * ============LICENSE_END============================================
35  *
36  * 
37  */
38 import { async, ComponentFixture, TestBed } from '@angular/core/testing';
39
40 import { NewUserModalComponent } from './new-user-modal.component';
41 import { HttpClientTestingModule } from '@angular/common/http/testing';
42 import { NgMaterialModule } from 'src/app/ng-material-module';
43 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
44 import { Component, Input } from '@angular/core';
45 import { FormsModule } from '@angular/forms';
46 import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
47 import { MatRadioChange } from '@angular/material';
48
49 describe('NewUserModalComponent', () => {
50   let component: NewUserModalComponent;
51   let fixture: ComponentFixture<NewUserModalComponent>;
52
53   beforeEach(async(() => {
54     TestBed.configureTestingModule({
55       declarations: [ NewUserModalComponent,AppSearchUsersStubComponent,AppUserdetailsFormStubComponent ],
56       imports:[HttpClientTestingModule,FormsModule,NgMaterialModule,BrowserAnimationsModule],
57       providers:[NgbActiveModal]
58     })
59     .compileComponents();
60   }));
61
62   beforeEach(() => {
63     fixture = TestBed.createComponent(NewUserModalComponent);
64     component = fixture.componentInstance;
65     fixture.detectChanges();
66   });
67
68   it('should create', () => {
69     expect(component).toBeTruthy();
70   });
71
72   it('addNewUser should return stubbed value', () => {
73     spyOn(component, 'addNewUser').and.callThrough();
74     component.addNewUser(true);
75     expect(component.addNewUser).toHaveBeenCalledWith(true);
76   });
77
78   it('changeSelectedUser should return stubbed value', () => {
79     spyOn(component, 'changeSelectedUser').and.callThrough();
80     let user = {};
81     component.changeSelectedUser(user);
82     expect(component.changeSelectedUser).toHaveBeenCalledWith(user);
83     user = {"firstName":"FirstTestName","lastName":"LastTestName","orgUserId":"TestOrgId"};
84     component.changeSelectedUser(user);
85     expect(component.changeSelectedUser).toHaveBeenCalledWith(user);
86
87   });
88
89   // it('searchUserRadioChange should return stubbed value', () => {
90   //   spyOn(component, 'searchUserRadioChange').and.callThrough();
91   //   MatRadio = {"value":""};
92   //   component.searchUserRadioChange(eventCheck);
93   //   expect(component.searchUserRadioChange).toHaveBeenCalledWith(event);
94   //   event = {"value":"System"};
95   //   component.searchUserRadioChange(event);
96   //   expect(component.searchUserRadioChange).toHaveBeenCalledWith(event);
97
98   // });
99
100   it('navigateBack should return stubbed value', () => {
101     spyOn(component, 'navigateBack').and.callThrough();
102     component.navigateBack();
103     expect(component.navigateBack).toHaveBeenCalledWith();
104   });
105
106   it('roleSelectChange should return stubbed value', () => {
107     spyOn(component, 'roleSelectChange').and.callThrough();
108     let element = {"id":2};
109     component.roleSelectChange(element);
110     expect(component.roleSelectChange).toHaveBeenCalledWith(element);
111   });
112
113   it('getUserAppsRoles should return stubbed value', () => {
114     spyOn(component, 'getUserAppsRoles').and.callThrough();
115     component.changedSelectedUser = 'Test';
116     component.getUserAppsRoles();
117     expect(component.getUserAppsRoles).toHaveBeenCalledWith();
118   });
119   
120
121   
122 });
123
124 @Component({selector: 'app-search-users', template: ''})
125 class AppSearchUsersStubComponent { 
126   @Input() searchTitle:any;
127   @Input() isSystemUser:any;
128   @Input() placeHolder:any;
129 }
130
131 @Component({selector: 'app-user-details-form', template: ''})
132 class AppUserdetailsFormStubComponent { 
133   
134 }