/*- * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. * =================================================================== * Modification Copyright © 2020 IBM. * =================================================================== * * 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. * * Unless otherwise specified, all documentation contained herein is licensed * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); * you may not use this documentation except in compliance with the License. * You may obtain a copy of the License at * * https://creativecommons.org/licenses/by/4.0/ * * Unless required by applicable law or agreed to in writing, documentation * 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. * * ============LICENSE_END============================================ * * */ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import {FormsModule} from '@angular/forms'; import { NewRoleComponent } from './new-role.component'; import { MatTableModule } from '@angular/material' import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { NgbActiveModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; import { AdminService } from '../../admin.service'; import { Observable } from 'rxjs'; import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component'; describe('NewRoleComponent', () => { let component: NewRoleComponent; let fixture: ComponentFixture; let role1 = ""; let adminService:AdminService; var _element={ "selected":false, "code":"code", "type":"type", "action":"action" }; beforeEach(async(() => { TestBed.configureTestingModule({ providers: [NgbActiveModal,AdminService], schemas: [CUSTOM_ELEMENTS_SCHEMA] , declarations: [ NewRoleComponent, ConfirmationModalComponent, InformationModalComponent ], imports: [ FormsModule, MatTableModule, HttpClientTestingModule, NgbModule.forRoot() ] }) TestBed.overrideModule(BrowserDynamicTestingModule,{ set:{ entryComponents:[ConfirmationModalComponent,InformationModalComponent] } }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(NewRoleComponent); component = fixture.componentInstance; component.role = role1; fixture.detectChanges(); adminService=TestBed.get(AdminService); }); it('should create', () => { expect(component).toBeTruthy(); }); it('should test delRoleFunctionConfirmPopUp method',()=>{ component.delRoleFunctionConfirmPopUp("abc","def"); }) it('should test else condition in saveChanges method',()=>{ spyOn(adminService,'saveRole').and.returnValue(Observable.of('your object')); component.saveChanges() }) it('should test toggleRoleFunction method',()=>{ component.finalSelectedRoleFunctions="Indrijeet kuma"; component.ociavailableRoleFunctions="i"; component.finalSelectedRoleFunctions="k"; component.toggleRoleFunction(_element) }) it('should test populateTableData method',()=>{ component.populateTableData("populateTableData"); expect(component.roleFunctionDataSource.sort).toEqual(component.sort); expect(component.roleFunctionDataSource.paginator).toEqual(component.paginator) }) it('should test isRoleAlreadyExist method',()=>{ component.availableRoles={"name":["currentRoleName"]}; component.isRoleAlreadyExist("currentRoleName") }) it('it should test openConfirmationModal method',()=>{ component.openConfirmationModal("test","value"); }) });