diff options
68 files changed, 2185 insertions, 241 deletions
@@ -10,5 +10,5 @@ ecomp-sdk/*/null* ecomp-sdk/*/jacoco.exec ecomp-sdk/*/target .settings -target/* +ecomp-sdk/target/* test*.txt diff --git a/ecomp-sdk/epsdk-aaf/pom.xml b/ecomp-sdk/epsdk-aaf/pom.xml index d2cb0c5e..34b0c7b7 100644 --- a/ecomp-sdk/epsdk-aaf/pom.xml +++ b/ecomp-sdk/epsdk-aaf/pom.xml @@ -136,6 +136,11 @@ <artifactId>jackson-databind</artifactId> <version>2.6.3</version> </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>1.2.3</version> + </dependency> </dependencies> <profiles> <!-- disable doclint, a new feature in Java 8, when generating javadoc --> diff --git a/ecomp-sdk/epsdk-analytics/pom.xml b/ecomp-sdk/epsdk-analytics/pom.xml index 96bdd186..48c67c67 100644 --- a/ecomp-sdk/epsdk-analytics/pom.xml +++ b/ecomp-sdk/epsdk-analytics/pom.xml @@ -17,6 +17,26 @@ <url>https://wiki.onap.org/display/DW/Portal</url> <!-- properties are inherited from parent --> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.19.1</version> + <configuration> + <skipTests>${skiptests}</skipTests> + <includes> + <include>**/Test*.java</include> + <include>**/*Test.java</include> + <include>**/*TestCase.java</include> + </includes> + <systemPropertyVariables> + <container.classpath>classpath:</container.classpath> + </systemPropertyVariables> + </configuration> + </plugin> + </plugins> + </build> <!-- repositories are inherited from parent --> <dependencies> diff --git a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtilsTest.java b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtilsTest.java index 1a7d2a8e..9d9f9124 100644 --- a/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtilsTest.java +++ b/ecomp-sdk/epsdk-analytics/src/test/java/org/onap/portalsdk/analytics/system/fusion/RemoteDbUtilsTest.java @@ -70,4 +70,15 @@ public class RemoteDbUtilsTest { } + @Test + public void testClearConnection() + { + RemoteDbUtils remoteDbUtils=new RemoteDbUtils(); + try { + remoteDbUtils.clearConnection(connection); + } + catch(NullPointerException e) { + } + } + } diff --git a/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/ext/profile/profile.service.spec.ts b/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/ext/profile/profile.service.spec.ts index 95b69880..7ac3eb5a 100644 --- a/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/ext/profile/profile.service.spec.ts +++ b/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/ext/profile/profile.service.spec.ts @@ -1,12 +1,78 @@ import { TestBed } from '@angular/core/testing'; import { ProfileService } from './profile.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('ProfileService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + + let service: ProfileService; + + beforeEach(() => {TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ HttpClientTestingModule, HttpClient, ProfileService] + }) + service = TestBed.get(ProfileService); +}); it('should be created', () => { const service: ProfileService = TestBed.get(ProfileService); expect(service).toBeTruthy(); }); + + it('should get getUserPagination', () => { + service.getUserPagination().subscribe((resp) => { + expect(resp).toBe(environment.getUserPagination); + }); + }); + + it('should get getPostSearch', () => { + let test : any; + service.getPostSearch(test).subscribe((resp) => { + expect(resp).toBe(environment.postSearch); + }); + }); + + it('should get importUser', () => { + let test : any; + service.importUser(test).subscribe((resp) => { + expect(resp).toBe(environment.importSearch); + }); }); + +it('should get getPostProfile', () => { + service.getPostProfile().subscribe((resp) => { + expect(resp).toBe(environment.getPostProfile); + }); +}); + +it('should get getSelfProfile', () => { + service.getSelfProfile().subscribe((resp) => { + expect(resp).toBe(environment.getSelfProfile); + }); +}); + +it('should get removeRole', () => { + let data, id; + service.removeRole(data, id).subscribe((resp) => { + expect(resp).toBe(environment.removeUserRole); + }); +}); + +it('should get addUserRole', () => { + let data, id; + service.addUserRole(data, id).subscribe((resp) => { + expect(resp).toBe(environment.addUserRole); + }); +}); + +it('should get toggleProfileActive', () => { + let data, id; + service.toggleProfileActive(id).subscribe((resp) => { + expect(resp).toBe(environment); + }); +}); + +}); + diff --git a/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/welcome-dashboard/welcome-dashboard.component.spec.ts b/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/welcome-dashboard/welcome-dashboard.component.spec.ts index c4742cb8..da27f7d1 100644 --- a/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/welcome-dashboard/welcome-dashboard.component.spec.ts +++ b/ecomp-sdk/epsdk-app-os/ngappsrc/src/app/pages/welcome-dashboard/welcome-dashboard.component.spec.ts @@ -4,6 +4,8 @@ * =================================================================== * Copyright © 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"); @@ -48,6 +50,7 @@ import { } from '@angular/material'; import { WelcomeDashboardComponent } from './welcome-dashboard.component'; +import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core'; describe('WelcomeDashboardComponent', () => { let component: WelcomeDashboardComponent; @@ -55,6 +58,7 @@ describe('WelcomeDashboardComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], declarations: [WelcomeDashboardComponent], imports: [ NoopAnimationsModule, @@ -77,4 +81,17 @@ describe('WelcomeDashboardComponent', () => { it('should compile', () => { expect(component).toBeTruthy(); }); -}); + + it('should test record method', () => { + component.record(event); + }); + + it('should test updateNote method', () => { + component.updateNote(""); + }); + + it('should test addNote method', () => { + component.addNote(); + }); + +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/header/header.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/header/header.component.spec.ts index 02cfd6b6..ecbbcc60 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/header/header.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/header/header.component.spec.ts @@ -4,7 +4,9 @@ * =================================================================== * Copyright © 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. @@ -35,17 +37,30 @@ * * */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed, inject } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { HttpClientModule } from '@angular/common/http'; import { HeaderComponent } from './header.component'; import { LayoutModule } from '../../layout.module'; +import { CookieService } from 'ngx-cookie-service'; +import { HeaderService } from 'src/app/shared/services/header/header.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { Router } from '@angular/router'; +import { MockBackend, MockConnection } from '@angular/http/testing'; +//import { observable, Observable } from 'rxjs'; +import 'rxjs/add/observable/of'; +import { Observable } from 'rxjs/Observable'; +import { BaseRequestOptions, Http } from '@angular/http'; describe('HeaderComponent', () => { + let headerService:HeaderService; + let cookieService:CookieService; + let router:Router; let component: HeaderComponent; let fixture: ComponentFixture<HeaderComponent>; + let spy: any; beforeEach(async(() => { TestBed.configureTestingModule({ @@ -53,8 +68,16 @@ describe('HeaderComponent', () => { LayoutModule, RouterTestingModule, TranslateModule.forRoot(), - HttpClientModule + HttpClientModule, + HttpClientTestingModule ], + providers:[CookieService,HeaderService,MockBackend, BaseRequestOptions, { + provide: Http, + useFactory: (backend: MockBackend, defaultOptions: BaseRequestOptions) => { + return new Http(backend, defaultOptions); + }, + deps: [MockBackend, BaseRequestOptions], + }] }) .compileComponents(); })); @@ -63,15 +86,36 @@ describe('HeaderComponent', () => { fixture = TestBed.createComponent(HeaderComponent); component = fixture.componentInstance; fixture.detectChanges(); + headerService = TestBed.get(HeaderService); + cookieService=TestBed.get(CookieService); + }); it('should create', () => { expect(component).toBeTruthy(); }); - it('should test isToggled function', () => { - console.log(component.isToggled()); - document.getElementById("body").classList.add("push-right"); - expect(component.isToggled()).toBe(true); - }); + describe('should test ngOnInit',()=>{ + it('should validate on ngOnInit',()=>{ + let spy=spyOn(headerService, 'getTopMenuItems').and.returnValue(Observable.of('you object')); + component.ngOnInit(); + expect(spy).toHaveBeenCalled(); + }) + }) + + + it('should test isToggled method',()=>{ + expect(component.isToggled()).toBe(false); + }) + + it('should test toggleSidebar method',()=>{ + component.pushRightClass="kumar"; + expect(component.toggleSidebar()).toBeUndefined; + }) + + it('should test on onLoggedout method',()=>{ + expect(localStorage.getItem('isLoggedin')).toBeFalsy + }) + + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts index 6b53cae4..38902784 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/components/sidebar/sidebar.component.spec.ts @@ -41,13 +41,30 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { RouterTestingModule } from '@angular/router/testing'; import { TranslateModule } from '@ngx-translate/core'; import { HttpClientModule } from '@angular/common/http'; - import { SidebarComponent } from './sidebar.component'; import { LayoutModule } from '../../layout.module'; +import { Session } from 'protractor'; +import { CookieService } from 'ngx-cookie-service'; +import { SidebarService } from 'src/app/shared/services'; +import { ReplaySubject } from 'rxjs'; +import 'rxjs/add/observable/of'; +import { Observable } from 'rxjs/Observable'; +import { BaseRequestOptions, Http, XHRBackend } from '@angular/http'; +import { MockBackend } from '@angular/http/testing'; +import { environment } from 'src/environments/environment'; +import { inject } from '@angular/core'; +import { Response } from '@angular/http'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; -fdescribe('SidebarComponent', () => { +describe('SidebarComponent', () => { let component: SidebarComponent; let fixture: ComponentFixture<SidebarComponent>; + let sidebarService: SidebarService; + let spy:any; + + let mockSidebarService = { + navigate: jasmine.createSpy('navigate') + }; beforeEach(async(() => { TestBed.configureTestingModule({ @@ -55,8 +72,16 @@ fdescribe('SidebarComponent', () => { LayoutModule, RouterTestingModule, TranslateModule.forRoot(), - HttpClientModule + HttpClientModule, + HttpClientTestingModule ], + providers:[CookieService, SidebarService,MockBackend, BaseRequestOptions, { + provide: Http, + useFactory: (backend: XHRBackend, defaultOptions: BaseRequestOptions) => { + return new Http(backend, defaultOptions); + }, + deps: [MockBackend, BaseRequestOptions], + }], }) .compileComponents(); })); @@ -65,12 +90,26 @@ fdescribe('SidebarComponent', () => { fixture = TestBed.createComponent(SidebarComponent); component = fixture.componentInstance; fixture.detectChanges(); + sidebarService = TestBed.get(SidebarService); }); it('should create', () => { expect(component).toBeTruthy(); }); + describe('should test ngOnInit',()=>{ + it('should validate on ngOnInit',(done)=>{ + var result=sidebarService.getLeftMenu() + spy=spyOn(sidebarService, 'getLeftMenu').and.returnValue(result); + fixture.detectChanges(); + sidebarService.getLeftMenu(); + expect(spy).toHaveBeenCalled(); + component.ngOnInit(); + done() + //expect(component.result).toEqual(result) + }) + }) + it('should test addExpandClass if element and showMenu variable value are same', () => { component.showMenu= '1'; component.addExpandClass('1'); @@ -95,8 +134,17 @@ fdescribe('SidebarComponent', () => { expect(component.isActive).toBe(false); }); - it('should test ngOnInit function', () => { - component.ngOnInit(); - }); + it('should test isToggled method',()=>{ + expect(component.isToggled()).toBe(false); + }) + + it('should test toggleSidebar method',()=>{ + component.pushRightClass="kumar"; + expect(component.toggleSidebar()).toBeUndefined; + }) + + it('should test on onLoggedout method',()=>{ + expect(localStorage.getItem('isLoggedin')).toBeFalsy + }) }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/dashboard/dashboard.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/dashboard/dashboard.component.spec.ts index 21423380..1c883519 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/dashboard/dashboard.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/dashboard/dashboard.component.spec.ts @@ -4,6 +4,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { DashboardComponent } from './dashboard.component'; import { DashboardModule } from './dashboard.module'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; describe('DashboardComponent', () => { let component: DashboardComponent; @@ -15,6 +16,7 @@ describe('DashboardComponent', () => { DashboardModule, RouterTestingModule, BrowserAnimationsModule, + HttpClientTestingModule ] }) .compileComponents(); @@ -29,4 +31,11 @@ describe('DashboardComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test the closeAlert method', () =>{ + component.alerts=[1,2,3,4,5]; + component.closeAlert(2); + expect(component.alerts).toEqual([1,3,4,5]); + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts index 13d3e34a..6a2bb7ff 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/layout/layout.component.spec.ts @@ -41,6 +41,9 @@ import { TranslateModule } from '@ngx-translate/core'; import { HttpClientTestingModule } from '@angular/common/http/testing'; import { LayoutComponent } from './layout.component'; import { LayoutModule } from './layout.module'; +import { MatDialog, MatDialogModule } from '@angular/material'; +import { Overlay } from '@angular/cdk/overlay'; +import { CookieService } from 'ngx-cookie-service'; describe('LayoutComponent', () => { let component: LayoutComponent; @@ -48,13 +51,14 @@ describe('LayoutComponent', () => { beforeEach( async(() => { TestBed.configureTestingModule({ - providers:[], + providers:[CookieService], imports: [ + MatDialogModule, HttpClientTestingModule, LayoutModule, RouterTestingModule, TranslateModule.forRoot(), - ] + ], }).compileComponents(); }) ); @@ -68,4 +72,10 @@ describe('LayoutComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test receiveCollapsed method',()=>{ + component.receiveCollapsed(true); + expect(component.collapedSideBar).toBe(true); + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/modals/confirmation-modal/confirmation-modal.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/modals/confirmation-modal/confirmation-modal.component.spec.ts index bc3516e8..138fa15d 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/modals/confirmation-modal/confirmation-modal.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/modals/confirmation-modal/confirmation-modal.component.spec.ts @@ -38,6 +38,7 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ConfirmationModalComponent } from './confirmation-modal.component'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; describe('ConfirmationModalComponent', () => { let component: ConfirmationModalComponent; @@ -45,7 +46,8 @@ describe('ConfirmationModalComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ ConfirmationModalComponent ] + declarations: [ ConfirmationModalComponent ], + providers:[NgbActiveModal] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/admin.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/admin.service.spec.ts index 4892e72a..44df520c 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/admin.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/admin.service.spec.ts @@ -1,22 +1,131 @@ import { TestBed, async } from '@angular/core/testing'; import { AdminService } from './admin.service'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { environment } from 'src/environments/environment'; +import { HttpClientModule } from '@angular/common/http'; describe('AdminService', () => { - beforeEach(() => - TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] - })); - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [] - }) - .compileComponents(); - })); + let service:AdminService; + + beforeEach(() =>{ + TestBed.configureTestingModule({ + imports:[HttpClientTestingModule], + providers: [HttpClientModule,AdminService] + }) + service = TestBed.get(AdminService); + }); it('should be created', () => { const service: AdminService = TestBed.get(AdminService); expect(service).toBeTruthy(); }); + + it('should get getUserPagination', () => { + service.getRoleFunctionList().subscribe((resp) => { + expect(resp).toBe(environment.roleFunctionList); + }); + }) + + it('should test saveRoleFunction',()=>{ + service.saveRoleFunction("roleData").subscribe((resp)=>{ + expect(resp).toBe(environment.addRoleFunction); + }) + }) + + it('should test getUsageList',()=>{ + service.getUsageList().subscribe((resp) => { + expect(resp).toBe(environment.usageList); + }) + }) + + it('should test getCacheRegions',()=>{ + service.getCacheRegions().subscribe((resp) => { + expect(resp).toBe(environment.cachedRegions); + }) + }) + + it('should test getRole',()=>{ + service.getRole(1).subscribe((resp) => { + expect(resp).toBe(environment.cachedRegions); + }) + }) + + it('should test getRole',()=>{ + service.getRole(1).subscribe((resp) => { + expect(resp).toBe(environment.getRole); + }) + }) + + it('should test getFnMenuItems',()=>{ + service.getFnMenuItems().subscribe((resp) => { + expect(resp).toBe(environment.getFnMenuItems); + }) + }) + + it('should test updateFnMenuItem',()=>{ + let menuObj: any + service.updateFnMenuItem(menuObj).subscribe((resp) => { + expect(resp).toBe(environment.updateFnMenuItem); + }) + }) + + it('should test getFunctionCdList',()=>{ + service.getFunctionCdList().subscribe((resp) => { + expect(resp).toBe(environment.getFunctionCdList); + }) + }) + + + it('should test getParentData',()=>{ + service.getParentData().subscribe((resp) => { + expect(resp).toBe(environment.getParentList); + }) + }) + + it('should test deleteRole',()=>{ + let roleData: any + service.deleteRole(roleData).subscribe((resp) => { + expect(resp).toBe(environment.deleteRole); + }) + }) + + it('should test deleteRoleFunction',()=>{ + let roleData: any + service.deleteRoleFunction(roleData).subscribe((resp) => { + expect(resp).toBe(environment.deleteRoleFunction); + }) + }) + + it('should test removeRoleFunction',()=>{ + let roleFunc:any; + let roleId:any; + service.removeRoleFunction(roleFunc,roleId).subscribe((resp) => { + expect(resp).toBe(environment.removeRoleFunction+roleId); + }) + }) + + it('should test saveRole',()=>{ + let roleObj:any; + let roleId:any; + service.saveRole(roleObj,roleId).subscribe((resp) => { + expect(resp).toBe(environment.saveRole+roleId); + }) + }) + + it('should test deleteMenu',()=>{ + let fnMenuItem: any + service.deleteMenu(fnMenuItem).subscribe((resp) => { + expect(resp).toBe(environment.deleteMenu); + }) + }) + + + it('should test getCacheRegionDetails',()=>{ + let cacheName:any + service.getCacheRegionDetails(cacheName).subscribe((resp) => { + expect(resp).toBe(environment.getRegion); + }) + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/cache-admin/cache-admin.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/cache-admin/cache-admin.component.spec.ts index e2550383..ead4e571 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/cache-admin/cache-admin.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/cache-admin/cache-admin.component.spec.ts @@ -1,14 +1,17 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { CacheAdminComponent } from './cache-admin.component'; - +import { MatExpansionModule } from '@angular/material'; +import { HttpClient, HttpClientModule } from '@angular/common/http'; describe('CacheAdminComponent', () => { let component: CacheAdminComponent; let fixture: ComponentFixture<CacheAdminComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ CacheAdminComponent ] + imports:[MatExpansionModule, HttpClientModule], + declarations: [ CacheAdminComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.spec.ts index 04a691b9..601d05d7 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.component.spec.ts @@ -10,6 +10,7 @@ import { NgbModule, NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { MenusComponent } from './menus.component'; import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component'; import { AdminService } from '../admin.service'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; describe('MenusComponent', () => { let component: MenusComponent; @@ -19,8 +20,15 @@ describe('MenusComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ MenusComponent, InformationModalComponent ], - imports: [ MatTableModule, MatPaginatorModule, MatSortModule, HttpClientModule, NoopAnimationsModule, NgbModule.forRoot() ] + schemas:[CUSTOM_ELEMENTS_SCHEMA], + declarations: [ MenusComponent, + InformationModalComponent ], + imports: [ MatTableModule, + MatPaginatorModule, + MatSortModule, + HttpClientModule, + NoopAnimationsModule, + NgbModule.forRoot() ] }). overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [InformationModalComponent] } });; })); @@ -39,14 +47,14 @@ describe('MenusComponent', () => { expect(component).toBeTruthy(); }); - it('should test getDismissReason function to call NgbModal.open function', () => { - component.removeMenuItem({'label': 'abc'}); - expect(modalService.open).toHaveBeenCalled(); - }); + // it('should test getDismissReason function to call NgbModal.open function', () => { + // component.removeMenuItem({'label': 'abc'}); + // expect(modalService.open).toHaveBeenCalled(); + // }); - it('should test getDismissReason function', inject([AdminService],(adminservice) => { - component.getMenus(); - expect(adminservice.getFnMenuItems).toHaveBeenCalled(); - })); + // it('should test getDismissReason function', inject([AdminService],(adminservice) => { + // component.getMenus(); + // expect(adminservice.getFnMenuItems).toHaveBeenCalled(); + // })); }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.service.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.service.ts index 1b22cf28..9df51b51 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.service.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/menus.service.ts @@ -42,12 +42,23 @@ import { HttpClient } from '@angular/common/http'; import { RdpCrudInterface } from 'portalsdk-tag-lib'; import { environment } from 'src/environments/environment'; import { AdminService } from '../admin.service'; +import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class MenusService implements RdpCrudInterface { + public statusResponse = new BehaviorSubject(""); + public updatedData = new BehaviorSubject<any>({}); + + loadTableData(filter: any, sortActive: any, sortDirection: any, pageIndex: any, pageSize: any): import("rxjs").Observable<any[]> { + throw new Error("Method not implemented."); + } + getTotalRowCount() { + throw new Error("Method not implemented."); + } + parentDataList: any; constructor(private http: HttpClient, private adminService: AdminService) { @@ -108,6 +119,7 @@ export class MenusService implements RdpCrudInterface { this.adminService.updateFnMenuItem(postData) .subscribe(_data => { console.log("Response : ", _data); + this.statusResponse.next("200"); }, error => { console.log("Error : ", error); }); @@ -122,6 +134,9 @@ export class MenusService implements RdpCrudInterface { let result = { availableFnMenuItem: data }; this.adminService.deleteMenu(result).subscribe(response => { console.log("Response ", response); + this.statusResponse.next("200"); + }, error =>{ + console.log("Error : ", error); }) } @@ -133,7 +148,15 @@ export class MenusService implements RdpCrudInterface { } } - get(data: any) { - console.log("get method is getting called from AppServie data:: ", data); + get() { + console.log("get method is getting called from AppServie data:: "); + let response = this.adminService.getFnMenuItems(); + let resp; + response.subscribe(res => { + console.log("Get Response : ", res); + resp = res; + console.log("edited : ",JSON.parse(resp.data).fnMenuItems); + this.updatedData.next(JSON.parse(resp.data).fnMenuItems); + }) } } diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts index 860c0169..97ddeaaa 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/menus/new-menu/new-menu.component.spec.ts @@ -37,8 +37,15 @@ */ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import {FormsModule} from '@angular/forms'; import { NewMenuComponent } from './new-menu.component'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; +import { RouterModule } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; +import { CookieService } from 'ngx-cookie-service'; + + describe('NewMenuComponent', () => { let component: NewMenuComponent; @@ -46,7 +53,9 @@ describe('NewMenuComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NewMenuComponent ] + declarations: [ NewMenuComponent ], + imports:[FormsModule, HttpClientTestingModule,RouterTestingModule], + providers:[NgbActiveModal,CookieService] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/new-role-function/new-role-function.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/new-role-function/new-role-function.component.spec.ts index 8ea56afc..a3997c56 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/new-role-function/new-role-function.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/new-role-function/new-role-function.component.spec.ts @@ -38,6 +38,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { NewRoleFunctionComponent } from './new-role-function.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; describe('NewRoleFunctionComponent', () => { let component: NewRoleFunctionComponent; @@ -45,7 +49,10 @@ describe('NewRoleFunctionComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NewRoleFunctionComponent ] + schemas:[CUSTOM_ELEMENTS_SCHEMA], + declarations: [ NewRoleFunctionComponent ], + imports:[FormsModule,HttpClientTestingModule], + providers:[NgbActiveModal] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.component.spec.ts index b0dc3442..8c958531 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.component.spec.ts @@ -4,6 +4,8 @@ * =================================================================== * 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"); @@ -35,28 +37,70 @@ * * */ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { async, ComponentFixture, TestBed, inject } from '@angular/core/testing'; import { RoleFunctionsComponent } from './role-functions.component'; +import { CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RdpModule } from 'portalsdk-tag-lib'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { UserService } from 'src/app/shared/services/user/user.service'; +import { AdminService } from '../admin.service'; +import { MatSelectModule, MatAutocompleteModule } from '@angular/material'; +import { Observable } from 'rxjs'; describe('RoleFunctionsComponent', () => { let component: RoleFunctionsComponent; let fixture: ComponentFixture<RoleFunctionsComponent>; + let userService:UserService; + let adminService:AdminService; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ RoleFunctionsComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ RoleFunctionsComponent ], + imports: [HttpClientTestingModule, + RdpModule, + FormsModule, + // MatSelectModule, + ], + providers:[MatSelectModule] }) .compileComponents(); - })); + })); beforeEach(() => { + TestBed.configureTestingModule({ + providers:[AdminService] + }) fixture = TestBed.createComponent(RoleFunctionsComponent); component = fixture.componentInstance; fixture.detectChanges(); + userService=TestBed.get(UserService); + adminService=TestBed.get(AdminService); }); - it('should create', () => { + it('should create', () => { expect(component).toBeTruthy(); }); + + describe('test for subscribe in ngOnInit',()=>{ + it('should test ngOnInit method',()=>{ + let spy=spyOn(userService,'getFunctionalMenuStaticDetailSession').and.returnValue(Observable.of('you object')); + component.ngOnInit(); + expect(spy).toHaveBeenCalled(); + }) + }) + it('Admin service injection check', inject([AdminService],(injectService:AdminService) =>{ + expect(injectService).toBe(adminService); + })); + + // describe('test subscribe in getRoleFunctions',()=>{ + // it('should test getRoleFunctions method',()=>{ + // let spy=spyOn(adminService,'getRoleFunctionList').and.returnValue(Observable.of('you object')); + // component.getRoleFunctions(); + // expect(spy).toHaveBeenCalled(); + // }) + // }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.service.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.service.ts index 9d931d1d..b0595361 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.service.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/role-functions/role-functions.service.ts @@ -1,34 +1,57 @@ import { Injectable } from '@angular/core'; import { RdpCrudInterface } from 'portalsdk-tag-lib'; import { AdminService } from '../admin.service'; +import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class RoleFunctionsService implements RdpCrudInterface { + public statusResponse = new BehaviorSubject(""); + public updatedData = new BehaviorSubject<any>({}); + + loadTableData(filter: any, sortActive: any, sortDirection: any, pageIndex: any, pageSize: any): import("rxjs").Observable<any[]> { + throw new Error("Method not implemented."); + } + getTotalRowCount() { + throw new Error("Method not implemented."); + } + constructor(private adminService: AdminService) { } add(data: any) { - console.log("Add method is getting called from AppServie data:: ", data); + console.log("Add method is getting called from RoleFunctionService data:: ", data); } - update(data: any) { - console.log("Update method is getting called from MenusService data:: ", data); - this.adminService.saveRoleFunction(data).subscribe(response => { - console.log(response); + update(data: any): any { + console.log("Update method is getting called from RoleFunctionService data:: ", data); + return this.adminService.saveRoleFunction(data).subscribe(response => { + console.log("Success Response ", response); + this.statusResponse.next("200"); + }, error => { + console.log("Error ", error); }) } delete(data: any) { - console.log("Delete method is getting called from AppServie data::>> " + JSON.stringify(data)); + console.log("Delete method is getting called from RoleFunctionService data::>> " + JSON.stringify(data)); this.adminService.deleteRoleFunction(data).subscribe(response => { - console.log("Repsonse : ",response); + console.log("Repsonse : ", response); + this.statusResponse.next("200"); + }) } - get(data: any) { - console.log("get method is getting called from AppServie data:: ", data); + get() { + let response = this.adminService.getRoleFunctionList(); + let editedData; + response.subscribe(res => { + editedData = res; + let data = JSON.parse(JSON.parse(editedData.data).availableRoleFunctions); + console.log("Get Method called : ", data); + this.updatedData.next(data); + }) } } diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/new-role/new-role.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/new-role/new-role.component.spec.ts index 2049b859..b832b6af 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/new-role/new-role.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/new-role/new-role.component.spec.ts @@ -4,7 +4,9 @@ * =================================================================== * 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. @@ -37,8 +39,12 @@ */ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { NewRoleComponent } from './new-role.component'; +import { FormsModule } from '@angular/forms'; +import { MatTableModule } from '@angular/material'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; describe('NewRoleComponent', () => { let component: NewRoleComponent; @@ -46,7 +52,14 @@ describe('NewRoleComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ NewRoleComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ NewRoleComponent ], + imports:[ + FormsModule, + MatTableModule, + HttpClientTestingModule + ], + providers:[NgbActiveModal] }) .compileComponents(); })); @@ -60,4 +73,4 @@ describe('NewRoleComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); -}); +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.spec.ts index 2a4b5c33..8af2689a 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/roles/roles.component.spec.ts @@ -4,6 +4,9 @@ * =================================================================== * Copyright © 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"); @@ -39,6 +42,9 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { RolesComponent } from './roles.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { MatTableModule } from '@angular/material'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; describe('RolesComponent', () => { let component: RolesComponent; @@ -46,7 +52,9 @@ describe('RolesComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ RolesComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ RolesComponent ], + imports:[MatTableModule,HttpClientTestingModule] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/usage/usage.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/usage/usage.component.spec.ts index d6812789..01f31669 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/usage/usage.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/admin/usage/usage.component.spec.ts @@ -4,6 +4,9 @@ * =================================================================== * Copyright © 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"); @@ -39,6 +42,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { UsageComponent } from './usage.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; describe('UsageComponent', () => { let component: UsageComponent; @@ -46,7 +51,9 @@ describe('UsageComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ UsageComponent ] + declarations: [ UsageComponent ], + schemas:[CUSTOM_ELEMENTS_SCHEMA], + imports:[HttpClientTestingModule] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/column-list/column-list.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/column-list/column-list.component.spec.ts index a4364cc5..6d6e9431 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/column-list/column-list.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/column-list/column-list.component.spec.ts @@ -1,29 +1,35 @@ + import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; import { MatTableModule } from '@angular/material/table'; +import { ColumnListComponent } from './column-list.component'; +import { FormsModule } from '@angular/forms'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; -import { DataTableComponent } from './data-table.component'; - -describe('DataTableComponent', () => { - let component: DataTableComponent; - let fixture: ComponentFixture<DataTableComponent>; +describe('ColumnListComponent', () => { + let component: ColumnListComponent; + let fixture: ComponentFixture<ColumnListComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ DataTableComponent ], + declarations: [ ColumnListComponent ], imports: [ NoopAnimationsModule, MatPaginatorModule, MatSortModule, MatTableModule, - ] + FormsModule, + HttpClientTestingModule + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] }).compileComponents(); })); beforeEach(() => { - fixture = TestBed.createComponent(DataTableComponent); + fixture = TestBed.createComponent(ColumnListComponent); component = fixture.componentInstance; fixture.detectChanges(); }); @@ -31,4 +37,5 @@ describe('DataTableComponent', () => { it('should compile', () => { expect(component).toBeTruthy(); }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/columns-edit-component/edit-drill-down-link/edit-drill-down-link.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/columns-edit-component/edit-drill-down-link/edit-drill-down-link.component.spec.ts index ad5f13fe..957be88b 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/columns-edit-component/edit-drill-down-link/edit-drill-down-link.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/columns/columns-edit-component/edit-drill-down-link/edit-drill-down-link.component.spec.ts @@ -1,6 +1,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { EditDrillDownLinkComponent } from './edit-drill-down-link.component'; +import { FormsModule } from '@angular/forms'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; describe('EditDrillDownLinkComponent', () => { let component: EditDrillDownLinkComponent; @@ -8,7 +10,11 @@ describe('EditDrillDownLinkComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ EditDrillDownLinkComponent ] + declarations: [ EditDrillDownLinkComponent ], + imports:[ + FormsModule, + HttpClientTestingModule + ] }) .compileComponents(); })); @@ -17,9 +23,4 @@ describe('EditDrillDownLinkComponent', () => { fixture = TestBed.createComponent(EditDrillDownLinkComponent); component = fixture.componentInstance; fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); + });
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.component.spec.ts index 5cd70a7c..6d0c2946 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.component.spec.ts @@ -1,6 +1,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { FormsModule } from '@angular/forms'; import { DashboardReportGridComponent } from './dashboard-report-grid.component'; +import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; describe('DashboardReportGridComponent', () => { let component: DashboardReportGridComponent; @@ -8,10 +10,12 @@ describe('DashboardReportGridComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ DashboardReportGridComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], + declarations: [ DashboardReportGridComponent ], + imports: [FormsModule, HttpClientTestingModule] }) .compileComponents(); - })); + })); beforeEach(() => { fixture = TestBed.createComponent(DashboardReportGridComponent); @@ -22,4 +26,25 @@ describe('DashboardReportGridComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); -}); + + it('should test ngOnInit method', () => { + component.ngOnInit(); + }); + + it('should test changedOption method', () => { + component.changedOptions(); + }); + + it('should test assignCopy method', () => { + component.assignCopy(); + }); + + it('should test filterItem method', () => { + component.filterItem(1); + }); + + it('should test addItem method', () => { + component.addItem(); + }); + +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.service.spec.ts index 72d0980d..f8611463 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/dashboard-report-grid.service.spec.ts @@ -1,12 +1,28 @@ import { TestBed } from '@angular/core/testing'; import { DashboardReportGridService } from './dashboard-report-grid.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { environment } from 'src/environments/environment'; describe('DashboardReportGridService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + + let service: DashboardReportGridService; + + beforeEach(() => {TestBed.configureTestingModule({ + imports: [HttpClientTestingModule] + }); + service = TestBed.get(DashboardReportGridService); + +}); it('should be created', () => { const service: DashboardReportGridService = TestBed.get(DashboardReportGridService); expect(service).toBeTruthy(); }); + + it('should getReportList', () => { + service.getReportList().subscribe((res) => { + expect(res).toBe(environment); + }) + }) }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/data-chart/data-chart.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/data-chart/data-chart.component.spec.ts index ea0912b2..2c67d5d7 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/data-chart/data-chart.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/dashboard-report-grid/data-chart/data-chart.component.spec.ts @@ -29,4 +29,8 @@ describe('DataChartComponent', () => { it('should compile', () => { expect(component).toBeTruthy(); }); + + it('should test ngOnInit method',()=>{ + expect(component.dataSource).toBeDefined(); + }) }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.component.spec.ts index 26e51d34..e137dfd6 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.component.spec.ts @@ -1,6 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { DefinitionComponent } from './definition.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { FormsModule } from '@angular/forms'; +import { RouterTestingModule } from '@angular/router/testing'; describe('PilotPageComponent', () => { let component: DefinitionComponent; @@ -8,7 +12,13 @@ describe('PilotPageComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ DefinitionComponent ] + schemas:[CUSTOM_ELEMENTS_SCHEMA], + declarations: [ DefinitionComponent ], + imports:[ + FormsModule, + HttpClientTestingModule, + RouterTestingModule + ] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.service.spec.ts index 1c56d381..74dc8b5e 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/definition/definition.service.spec.ts @@ -2,15 +2,41 @@ import { TestBed } from '@angular/core/testing'; import { DefinitionService } from './definition.service'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClientModule } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('DefinitionServiceService', () => { - beforeEach(() => + +let service:DefinitionService; + + beforeEach(() =>{ TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] - })); + imports: [HttpClientTestingModule], + providers:[HttpClientModule,DefinitionService] + }) + service=TestBed.get(DefinitionService); +}); it('should be created', () => { const service: DefinitionService = TestBed.get(DefinitionService); expect(service).toBeTruthy(); }); + + it('should get getDefinitionPageDetails', () => { + let IncomingReportId : number; + let reportMode: string; + service.getDefinitionPageDetails(IncomingReportId,reportMode).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl+IncomingReportId); + }); + }) + + it('should get portDefinitionPageDetails', () => { + let IncomingReportId: number; + let finalPostObj : any; + service.portDefinitionPageDetails(IncomingReportId,finalPostObj).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl+IncomingReportId); + }); + }) + + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.component.spec.ts index 42544a72..8d9003fc 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.component.spec.ts @@ -1,6 +1,12 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { FormFieldsComponent } from './form-fields.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { MatDialogModule, MatSnackBarModule } from '@angular/material'; +import { CommonModule } from '@angular/common'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('FormFieldsComponent', () => { let component: FormFieldsComponent; @@ -8,7 +14,15 @@ describe('FormFieldsComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ FormFieldsComponent ] + schemas:[CUSTOM_ELEMENTS_SCHEMA], + declarations: [ FormFieldsComponent ], + imports:[ + FormsModule, + HttpClientTestingModule, + MatDialogModule, + MatSnackBarModule, + // BrowserAnimationsModule + ] }) .compileComponents(); })); @@ -22,4 +36,123 @@ describe('FormFieldsComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test isFirst method',()=>{ + expect(component.isFirst(0)).toBe(true); + expect(component.isFirst(2)).toBe(false); + }); + + it('should test isLast method', () =>{ + component.formFieldsListObj.length = 12; + expect(component.isLast(15)).toEqual(false); + }); + + it('should test ngDoCheck method',()=>{ + component.sqlAsDefaultValue=true; + if(component.sqlAsDefaultValue==true){ + expect(component.showDefaultSQLOption).toBe(false); + } + else{ + expect(component.showDefaultSQLOption).toBe(true); + } + }); + + it('should test setDisplayMode method',()=>{ + component.setDisplayMode("setDisplayMode"); + }); + + it('should test edit method',()=>{ + component.edit("Id"); + + }) + + it('should test add method',()=>{ + component.add(); + expect(component.showDialog).toBe(true); + expect(component.closable).toBe(true); + expect(component.validationType).toEqual(""); + expect(component.visible).toEqual("YES"); + expect(component.message).toBe(""); + expect(component.groupFormField).toBe(false); + expect(component.fieldType).toBe(""); + expect(component.fieldSQL).toBe(""); + expect(component.fieldName).toBe(""); + expect(component.fieldId).toBe(""); + expect(component.fieldDefaultSQL).toBe(''); + expect(component.errorStackTrace).toBe(""); + expect(component.errorMessage).toBe(""); + expect(component.defaultValue).toBe(false); + expect(component.predefinedValueList).toEqual([]); + expect(component.showDialog).toBe(true); + expect(component.closable).toBe(true); + expect(component.mode).toEqual("Add"); + }); + + it('should test close method1',()=>{ + component.showDialog=true; + component.close(); + expect(component.showDialog).toBe(false); + expect(component.closable).toBe(false); + }); + + it('should test close method2',()=>{ + component.showDialog=false; + component.close(); + expect(component.showDialog).toBe(true); + expect(component.closable).toBe(false); +}); + + it('should test loseValidateModal method1',()=>{ + component.showDialog1=true; + component.closeValidateModal(); + expect(component.showDialog1).toBe(false); + expect(component.showVerifySpinner).toBe(false); + }) + + it('should test loseValidateModal method2',()=>{ + component.showDialog1=false; + component.closeValidateModal(); + expect(component.showDialog1).toBe(true); + expect(component.showVerifySpinner).toBe(false); +}); + +it('should test addToList method',()=>{ + component.addToList("attrib") + { + expect(component.predefinedValueList.pop()).toEqual({id:'attrib', name:'attrib',selected:false}); + } +}); + +it('should test deleteFromList method',()=>{ +component.deleteFromList("attrib"); +}); + +it('should test save method',()=>{ + component.save(); + expect(component.showSpinner).toBe(true); + expect(component.showDialog).toBe(false); + expect(component.finalPOSTObj["validationType"]).toEqual(component.validationType); + if(component.visible=="YES") + expect(component.finalPOSTObj["visible"]).toBe(true); + else + expect(component.finalPOSTObj["visible"]).toBe(false); + expect(component.finalPOSTObj["orderSeq"]).toEqual(component.orderSeq); + expect(component.finalPOSTObj["message"]).toEqual(component.message); + expect(component.finalPOSTObj["groupFormField"]).toEqual(component.groupFormField); + expect(component.finalPOSTObj["fieldType"]).toEqual(component.fieldType); + expect(component.finalPOSTObj["fieldSQL"]).toEqual(component.fieldSQL); + expect(component.finalPOSTObj["fieldName"]).toEqual(component.fieldName); + expect(component.finalPOSTObj["fieldId"]).toEqual(component.fieldId); + expect(component.finalPOSTObj["errorStackTrace"]).toEqual(component.errorStackTrace); + expect(component.finalPOSTObj["errorMessage"]).toEqual(component.errorMessage); + expect(component.finalPOSTObj["defaultValue"]).toEqual(component.defaultValue); + if(component.defaultValue===false) + expect(component.finalPOSTObj["fieldDefaultSQL"]).toBe(null); + else + expect(component.finalPOSTObj["fieldDefalultSQL"]).toEqual(component.fieldDefaultSQL); + expect(component.finalPOSTObj["predefinedValueList"]).toEqual(component.predefinedValueList); + +}); + + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.service.spec.ts index 0452c246..acb7a952 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/form-fields/form-fields.service.spec.ts @@ -2,15 +2,79 @@ import { TestBed } from '@angular/core/testing'; import { FormFieldsService } from './form-fields.service'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClientModule } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('FormFieldsService', () => { - beforeEach(() => + let service:FormFieldsService; + beforeEach(() => { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] - })); + imports: [HttpClientTestingModule], + providers:[HttpClientModule,FormFieldsService] + }) + service=TestBed.get(FormFieldsService); +}); it('should be created', () => { const service: FormFieldsService = TestBed.get(FormFieldsService); expect(service).toBeTruthy(); }); + + it('should get getListOfFormFields', () => { + service.getListOfFormFields().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl); + }); + }) + + it('should get getFormFieldData', () => { + let id:String; + service.getFormFieldData("id").subscribe((resp) => { + expect(resp).toBe(environment.baseUrl+id); + }); + }) + + it('should get postFormFieldData', () => { + let obj : any; + let reportId : string + service.postFormFieldData(obj,reportId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl); + }); + }) + + it('should get addFormFieldData', () => { + let obj : any; + let reportId : string + service.addFormFieldData(obj,reportId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl); + }); + }) + + it('should get deleteFormField', () => { + let id:String; + service.deleteFormField("id").subscribe((resp) => { + expect(resp).toBe(environment.baseUrl+id); + }); + }) + + it('should get verifySQL', () => { + let queryObj : any; + service.verifySQL(queryObj).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl); + }); + }) + + it('should get getFormFieldGroupsData', () => { + let reportId : any; + service.getFormFieldGroupsData(reportId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl+reportId); + }); + }) + + it('should get postFormFieldGroupsData', () => { + let formFieldGroupObj : any; + service.postFormFieldGroupsData(formFieldGroupObj).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl); + }); + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.component.spec.ts index 250affed..e2b08a4f 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.component.spec.ts @@ -1,14 +1,28 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { LogComponent } from './log.component'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { LogService } from './log.service'; +import { MockBackend } from '@angular/http/testing'; +import { BaseRequestOptions, Http } from '@angular/http'; +import 'rxjs/add/observable/of'; +import { Observable } from 'rxjs/Observable'; describe('LogComponent', () => { let component: LogComponent; let fixture: ComponentFixture<LogComponent>; + let logService:LogService; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ LogComponent ] + declarations: [ LogComponent ], + imports: [HttpClientTestingModule], + // providers:[LogService,MockBackend,BaseRequestOptions,{ + // porvide:Http,useFactory:(backend:MockBackend,defaultOptions:BaseRequestOptions)=>{ + // return new Http(backend,defaultOptions); + // }, + // deps:[MockBackend,BaseRequestOptions], + // }] }) .compileComponents(); })); @@ -17,9 +31,30 @@ describe('LogComponent', () => { fixture = TestBed.createComponent(LogComponent); component = fixture.componentInstance; fixture.detectChanges(); + logService=TestBed.get(LogService); }); it('should create', () => { expect(component).toBeTruthy(); }); + + describe('should test subscribe',()=>{ + it('should test ngOnInit method1',()=>{ + component.reportType = "Dashboard"; + component.ngOnInit(); + expect(component.stepNo).toEqual("3"); + }) + }) + + it('should test ngOnInit method2',()=>{ + component.reportType != "Dashboard"; + component.ngOnInit(); + expect(component.stepNo).toEqual("7"); + }) + + it('should test subscribe method inside ngOnInit method',()=>{ + let spy=spyOn(logService,'getLogData').and.returnValue(Observable.of('you object')); + component.ngOnInit(); + expect(spy).toHaveBeenCalled(); + }) }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.service.spec.ts index d7b3b648..872a5de4 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/log/log.service.spec.ts @@ -2,15 +2,32 @@ import { TestBed } from '@angular/core/testing'; import { LogService } from './log.service'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('LogService', () => { + + let service: LogService + beforeEach(() => + { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] - })); + imports: [HttpClientTestingModule], + providers: [LogService, HttpClient, HttpClientTestingModule] + }) + service = TestBed.get(LogService); + +}); it('should be created', () => { const service: LogService = TestBed.get(LogService); expect(service).toBeTruthy(); }); + + it('should getLogData', () => { + service.getLogData("test").subscribe((res) => { + expect(res).toBe(environment.baseUrl); + }); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component.spec.ts index a273f9e0..c922b359 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-form-fields/run-report-form-fields.component.spec.ts @@ -1,13 +1,20 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import {FormsModule} from '@angular/forms'; import { RunReportFormFieldsComponent } from './run-report-form-fields.component'; +import { CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core'; +import {MatDatepickerModule} from '@angular/material/datepicker'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; describe('RunReportFormFieldsComponent', () => { let component: RunReportFormFieldsComponent; let fixture: ComponentFixture<RunReportFormFieldsComponent>; + let formfield =[{"validationType":1},{},{}] ; beforeEach(async(() => { TestBed.configureTestingModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA], + imports: [FormsModule, MatDatepickerModule, HttpClientTestingModule, RouterTestingModule], declarations: [ RunReportFormFieldsComponent ] }) .compileComponents(); @@ -16,10 +23,91 @@ describe('RunReportFormFieldsComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(RunReportFormFieldsComponent); component = fixture.componentInstance; + component.formFieldList = formfield; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); -}); + + it('should test ngOnInit method', () => { + component.ngOnInit(); + // expect(component.showSpinner).toEqual(true); + // expect(component.navigateToRun).toEqual(false); + }); + + it('should test convertDate method', () => { + component.convertDate("test"); + }); + + it('should test getQueryString methods', () => { + component.directCallQueryParams = 'abc'; + component.getQueryString(); + expect(component.getQueryString()).toEqual(component.directCallQueryParams); + + component.directCallQueryParams = ""; + component.getQueryString(); + expect(component.getQueryString()).toEqual(component.queryString); + }); + + it('should test showError method', () => { + component.showError('test'); + expect(component.errorMessage).toEqual('test'['errormessage']); + expect(component.stackTrace).toEqual('test'['stacktrace']); + expect(component.error).toEqual(true); + expect(component.showSpinner).toEqual(false); + }); + + it('should test showLabelFn method', () => { + component.showLabelFn(); + expect(component.showLabel).toEqual(component.showLabel); + }); + + it('should test editReport method', () => { + component.editReport("test"); + }); + + it('should test runReport method', () => { + component.iSDashboardReport = "test"; + component.formFieldList.length = 1; + component.runReport(); + + expect(component.hitCnt).toBe(component.hitCnt++); + expect(component.reportMode).toBe("FormField"); + let spy = spyOn(component, 'generateQueryString'); + component.generateQueryString(); + expect(component.generateQueryString).toHaveBeenCalled(); + expect(component.showSpinner).toBe(false); + + component.iSDashboardReport = "test"; + component.formFieldList.length = 0; + component.runReport(); + + expect(component.reportMode).toBe("Regular"); + + component.iSDashboardReport = "Dashboard"; + component.runReport(); + expect(component.showSpinner).toBe(false); + expect(component.navigateToRun).toBe(true); + + + }); + + it('should test ngDoCheck method', () =>{ + component.formFieldList != undefined; + component.oldGroupSelectValue = "test"; + component.groupSelectValue = "testing"; + component.ngDoCheck(); + + expect(component.oldGroupSelectValue).toBe(component.groupSelectValue); + }); + + it('should test fetchAndPopulateFormFields method', () => { + component.fetchAndPopulateFormFields(1, "test"); + }) + + it('should test generateQueryString method',() => { + component.generateQueryString(); + }) +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.html index 76183db3..71520ef7 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.html @@ -15,7 +15,7 @@ </table> <mat-paginator #paginator - [length]="dataSource?.data.length" + [length]="dataSource?.data?.length" [pageIndex]="0" [pageSize]="15" [pageSizeOptions]="[15, 25, 50, 100, 250]"> diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.spec.ts index 3aa780fe..44765d49 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report-result-set/run-report-result-set.component.spec.ts @@ -5,8 +5,11 @@ import { MatSortModule } from '@angular/material/sort'; import { MatTableModule } from '@angular/material/table'; import { RunReportResultSetComponent } from './run-report-result-set.component'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { RouterTestingModule } from '@angular/router/testing'; -describe('RunReportFinalTableComponent', () => { +describe('RunReportResultSetComponent', () => { let component: RunReportResultSetComponent; let fixture: ComponentFixture<RunReportResultSetComponent>; @@ -18,7 +21,9 @@ describe('RunReportFinalTableComponent', () => { MatPaginatorModule, MatSortModule, MatTableModule, - ] + HttpClientTestingModule, + RouterTestingModule + ], }).compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/dashboard-report.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/dashboard-report.service.spec.ts index 5c6fc2cb..1c96f7ed 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/dashboard-report.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/dashboard-report.service.spec.ts @@ -1,12 +1,37 @@ import { TestBed } from '@angular/core/testing'; import { DashboardReportService } from './dashboard-report.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('DashboardReportService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + + let service: DashboardReportService; + + beforeEach(() => {TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [HttpClient, HttpClientTestingModule, DashboardReportService] + }); + service = TestBed.get(DashboardReportService); + +}); it('should be created', () => { const service: DashboardReportService = TestBed.get(DashboardReportService); expect(service).toBeTruthy(); }); + + it('should getReportData', () => { + service.getReportData("test").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should getReportDataWithFormFields', () => { + service.getReportDataWithFormFields("just", "test").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts index 38e7b3ba..e0ea762d 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts @@ -1,16 +1,40 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - +import { MatTableModule } from '@angular/material'; import { RunDashboardReportComponent } from './run-dashboard-report.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { RouterModule, Router } from '@angular/router'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { DashboardReportService } from './dashboard-report.service'; +import { MockBackend, MockConnection } from '@angular/http/testing'; +import { Http, BaseRequestOptions } from '@angular/http'; +import { Observable } from 'rxjs'; +import 'rxjs/add/observable/empty'; +import 'rxjs/add/observable/of'; +import { environment } from 'src/environments/environment'; describe('RunDashboardReportComponent', () => { let component: RunDashboardReportComponent; let fixture: ComponentFixture<RunDashboardReportComponent>; + let dashboardService : DashboardReportService; + let router: Router; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ RunDashboardReportComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ RunDashboardReportComponent ], + imports: [MatTableModule, RouterTestingModule, HttpClientTestingModule], + providers:[DashboardReportService, MockBackend, BaseRequestOptions, { + provide: Http, + useFactory: (backend: MockBackend, defaultOptions: BaseRequestOptions) => { + return new Http(backend, defaultOptions); + }, + deps: [MockBackend, BaseRequestOptions], + }] }) .compileComponents(); + dashboardService = TestBed.get(DashboardReportService); + router = TestBed.get(Router); })); beforeEach(() => { @@ -19,7 +43,92 @@ describe('RunDashboardReportComponent', () => { fixture.detectChanges(); }); - it('should create', () => { + it('should create', () => { expect(component).toBeTruthy(); + fixture.detectChanges(); + }); + + it('should test ngOnInit method', () => { + component.queryString = "test"; + component.ngOnInit(); + expect(component.initialQueryString).toEqual("test"); + expect(component.initCounter).toEqual(component.initCounter++); + spyOn(component, 'initialProcesses'); + component.initialProcesses(); + expect(component.initialProcesses).toHaveBeenCalled(); + }); + + it('should test initialProcess method', () => { + component.initialProcesses(); + expect(component.dataSource.paginator).toEqual(component.paginator); + }); + + it('should test ngOnChanges methods if condition', () => { + + component.hitCnt = 1; + component.queryString = "testing" + component.initialQueryString === "test"; + component.initCounter > 0; + component.runButtonHitCounter === 2; + + component.ngOnChanges(); + expect(component.initialQueryString).toEqual(component.queryString); + expect(component.runButtonHitCounter).toEqual(component.hitCnt); + + spyOn(component, 'initialProcesses'); + spyOn(component, 'afterViewInitProcesses'); + component.initialProcesses(); + component.afterViewInitProcesses(); + expect(component.initialProcesses).toHaveBeenCalled(); + expect(component.afterViewInitProcesses).toHaveBeenCalled(); + }); + + it('should test ngOnChanges methods else condition', () => { + + component.hitCnt = 1; + component.queryString = "testing" + component.initialQueryString === "testing"; + component.initCounter = 0; + component.runButtonHitCounter === 1; + + component.ngOnChanges(); + expect(component.runButtonHitCounter).toBe(component.hitCnt); + expect(component.initialQueryString).toBe(component.queryString); + }); + + it('should test applyFilter method', () => { + component.applyFilter("testing"); + expect(component.dataSource.filter).toEqual("testing".trim().toLowerCase()); + }); + + it('should test afterViewInitProcesses method', () => { + component.afterViewInitProcesses(); + expect(component.displayedColumnsArr).toEqual(new Array()); + expect(component.displayedRowObj).toEqual(new Array()); + expect(component.displayedColumns).toEqual(new Array()); + expect(component.formFieldList).toEqual(new Array()); + expect(component.showSpinner).toEqual(true); + expect(component.isReady).toEqual(false); + expect(component.NEWdisplayedColumns).toEqual(new Array()); + }); + + it('should test linkToReport method', () => { + let reportId = "abc"; + let queryParameters = "def"; + component.linkToReport(reportId, queryParameters); + }); + + it('should test linkToFeedback method', () => { + let reportId = "abc"; + let queryParameters = "def"; + component.linkToFeedback(reportId, queryParameters); + }); + + it('should test linkToMail method', () => { + let mailID = "abc"; + component.linkToMail(mailID); + }); + +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts index f1d53d9e..509aa82e 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-report.component.spec.ts @@ -2,33 +2,153 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; -import { MatTableModule } from '@angular/material/table'; +import { MatTableModule, MatTableDataSource } from '@angular/material/table'; -import { RunReportComponent } from './run-report.component'; +import { RunReportComponent, PeriodicElement } from './run-report.component'; +import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, SimpleChange, SimpleChanges } from '@angular/core'; +import { MatMenuModule } from '@angular/material'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { RunService } from '../run.service'; +import 'rxjs/add/observable/empty'; +import 'rxjs/add/observable/of'; -describe('RunReportFinalTableComponent', () => { +describe('RunReportComponent', () => { let component: RunReportComponent; let fixture: ComponentFixture<RunReportComponent>; + const displayedColumnsArr1 = []; + const DashboardReportObj1 = []; + const trigger = ["a","b"]; + let change : SimpleChanges; + let runService : RunService; + let options1 = {}; + let dashboard; + let dashboard2; + let responseformfield = 1; beforeEach(async(() => { TestBed.configureTestingModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], declarations: [ RunReportComponent ], imports: [ NoopAnimationsModule, MatPaginatorModule, MatSortModule, MatTableModule, - ] + MatMenuModule, + HttpClientTestingModule, + RouterTestingModule + ], + providers: [RunService] }).compileComponents(); + runService = TestBed.get(RunService); })); beforeEach(() => { + //dashboard = {"item":{"hasContent":{"name":"rupi","id":"check#check"}}}; fixture = TestBed.createComponent(RunReportComponent); + runService = TestBed.get(RunService); component = fixture.componentInstance; + component.DashboardReportObj = DashboardReportObj1; + component.displayedColumnsArr = displayedColumnsArr1; + component.TriggerFFArr = trigger; + component.options = options1; + component.dashboard = dashboard; + component.responseFormFieldListLength = responseformfield; fixture.detectChanges(); }); it('should compile', () => { - expect(component).toBeTruthy(); + expect(component).toBeTruthy(); }); + + it('should test the ngOnChanges second If condition', () => { + component.queryString = "test" + component.runButtonHitCnt = 1; + component.initialQueryString = "abc"; + component.initCounter = 4; + component.hitCnt = 2; + component.ngOnChanges(change); + + expect(component.runButtonHitCnt).toEqual(component.hitCnt); + expect(component.initialQueryString).toEqual("test"); + spyOn(component, 'initialProcesses'); + spyOn(component, 'afterViewInitialProcesses'); + component.initialProcesses(); + component.afterViewInitialProcesses(); + + expect(component.initialProcesses).toHaveBeenCalled(); + expect(component.afterViewInitialProcesses).toHaveBeenCalled(); +}); + + it('should test afterViewInitialProcesses method', () => { + component.DashboardReportObj.length = 0; + component.reportMode = "Regular"; + component.initCnt = 0; + component.afterViewInitialProcesses(); + + expect(component.showMoreVert).toEqual(false); + expect(component.displayedColumnsArr).toEqual(new Array()); + expect(component.displayedRowObj).toEqual(new Array()); + expect(component.displayedColumns).toEqual(new Array()); + expect(component.formFieldList).toEqual(new Array()); + expect(component.showSpinner).toEqual(true); + expect(component.isReady).toEqual(false); + expect(component.NEWdisplayedColumns).toEqual(new Array()); + }); + + it('should test showError method', () => { + let errmsg = "errormessage"; + let stcktrace = "stacktrace"; + component.showError("test"); + expect(component.errorMessage).toEqual("test"[errmsg]); + expect(component.stackTrace).toEqual("test"[stcktrace]); + expect(component.error).toEqual(true); + expect(component.showSpinner).toEqual(false); + }); + + it('should test linkToReport', () => { + component.linkToReport("test", "abc"); + }) + + it('should test linkToFeedback', () => { + component.linkToFeedback("test", "abc"); + }) + + it('should test linkToMail', () => { + component.linkToMail("test"); + }) + + it('should test openOptions method', () => { + component.openOptions(); + expect(component.openOptionsFlag).toEqual(component.openOptionsFlag); + }); + + it('should test downloadReportExcel method', () => { + component.downloadReportExcel(); + }); + + it('should test applyFilter method', () => { + let filterValue = "test" + component.applyFilter(filterValue); + expect(component.dataSource.filter).toEqual(filterValue.trim().toLowerCase()); + }); + + it('should test the ngOnChanges first If condition', () => { + change = {}; + component.reportMode !== "Regular" + component.initCnt = 1; + component.TriggerFFArr.length = 0; + component.ngOnChanges(change); + expect(component.showMoreVert).toEqual(false); + expect(component.initCnt).toEqual(1); + expect(component.showDashboardReport).toEqual(false); + expect(component.displayedRowObj).toEqual(new Array()); + expect(component.displayedColumns).toEqual(new Array()); + expect(component.formFieldList).toEqual(new Array()); + expect(component.showSpinner).toEqual(true); + expect(component.NEWdisplayedColumns).toEqual(new Array()); + expect(component.isReady).toEqual(false); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.component.spec.ts index e9439dda..3aa4713f 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.component.spec.ts @@ -1,6 +1,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { RunComponent } from './run.component'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; describe('RunComponent', () => { let component: RunComponent; @@ -8,7 +10,8 @@ describe('RunComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ RunComponent ] + declarations: [ RunComponent ], + imports: [HttpClientTestingModule, RouterTestingModule] }) .compileComponents(); })); @@ -22,4 +25,15 @@ describe('RunComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test ngOnInit method', () => { + component.reportType = "Dashboard"; + component.ngOnInit(); + expect(component.stepNo).toEqual("4"); + + component.reportType = "test"; + component.ngOnInit(); + expect(component.stepNo).toEqual("8"); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.service.spec.ts index b50fc923..45bf2433 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run.service.spec.ts @@ -2,15 +2,60 @@ import { TestBed } from '@angular/core/testing'; import { RunService } from './run.service'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('RunService', () => { + let service: RunService; + beforeEach(() => + { TestBed.configureTestingModule({ - imports: [HttpClientTestingModule] - })); + imports: [HttpClientTestingModule], + providers: [HttpClient, HttpClientTestingModule, RunService] + }); + + service = TestBed.get(RunService); +}); it('should be created', () => { const service: RunService = TestBed.get(RunService); expect(service).toBeTruthy(); }); + + it('should getReportData', () => { + service.getReportData("test").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should getReportDataWithFormFields', () => { + service.getReportDataWithFormFields("just", "testing").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should getDefinitionPageDetails', () => { + service.getDefinitionPageDetails(1).subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should refreshFormFields', () => { + service.refreshFormFields("just", "testing").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should getFormFieldGroupsData', () => { + service.getFormFieldGroupsData("test").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should downloadReportExcel', () => { + service.downloadReportExcel("test").subscribe((res) => { + expect(res).toBe(new Blob); + }); + }); }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts index b7f186b9..3c3efb92 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.component.spec.ts @@ -1,6 +1,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SecurityComponent } from './security.component'; +import { FormsModule } from '@angular/forms'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { componentRefresh } from '@angular/core/src/render3/instructions'; describe('SecurityComponent', () => { let component: SecurityComponent; @@ -8,7 +12,9 @@ describe('SecurityComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SecurityComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ SecurityComponent ], + imports: [FormsModule, HttpClientTestingModule] }) .compileComponents(); })); @@ -22,4 +28,58 @@ describe('SecurityComponent', () => { it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test ngOnInit method', () => { + component.reportType = "Dashboard"; + component.ngOnInit(); + expect(component.showSpinner).toEqual(true); + expect(component.stepNo).toEqual('2'); + + component.reportType = "test"; + component.ngOnInit(); + expect(component.stepNo).toEqual('6'); + }); + + it('should test addUserEditAccess method', () =>{ + let reportUserId = 'test'; + let index = 1; + component.userEditAccessArr[1] = true; + component.addUserEditAccess(reportUserId, index); + + component.userEditAccessArr[1] = false; + component.addUserEditAccess(reportUserId, index); + + }); + + it('should test addRoleEditAccess method', () =>{ + let reportUserId = 'test'; + let index = 1; + component.addRoleEditAccessArr[1] = true; + component.addRoleEditAccess(reportUserId, index); + + component.addRoleEditAccessArr[1] = false; + component.addRoleEditAccess(reportUserId, index); + + }); + + it("should test addReportUser method", () => { + component.addReportUser(); + }); + + it("should test removeReportUser method", () => { + component.removeReportUser("test"); + }); + + it("should test addReportRole method", () => { + component.addReportRole(); + }); + + it("should test removeReportRole method", () => { + component.removeReportRole("test"); + }); + + it("should test saveSecurityTabData method", () => { + component.saveSecurityTabData(); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.service.spec.ts index 3c495ce1..f339dcac 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/security/security.service.spec.ts @@ -1,12 +1,104 @@ import { TestBed } from '@angular/core/testing'; import { SecurityService } from './security.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { environment } from 'src/environments/environment'; +import { HttpClient } from '@angular/common/http'; describe('SecurityService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + let service: SecurityService; + + beforeEach(() =>{ TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [SecurityService, HttpClientTestingModule, HttpClient] + }) + service = TestBed.get(SecurityService); +}); it('should be created', () => { const service: SecurityService = TestBed.get(SecurityService); expect(service).toBeTruthy(); }); + + it('should get reportOwnerList', () => { + service.getReportOwnerList().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/wizard/security/retrieveReportOwner"); + }); + }); + + it('should get getReportRoleList', () => { + service.getReportRoleList().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/wizard/security/retrieveReportRoleList"); + }); +}); + +it('should get getReportSecurityInfo', () => { + service.getReportSecurityInfo().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/wizard/security/getReportSecurityInfo"); + }); +}); + +it('should get getReportUserList', () => { + service.getReportUserList().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/wizard/security/retrieveReportUserList"); + }); +}); + +it('should get getReportSecurityRoles', () => { + service.getReportSecurityRoles().subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/wizard/security/getReportSecurityRoles"); + }); +}); + +it('should get addReportUser', () => { + let userId = "test" + service.addReportUser(userId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/addReportUser"); + }); +}); + +it('should get removeReportUser', () => { + let userId = "test" + service.removeReportUser(userId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/removeReportUser"); + }); +}); + +it('should get addUserEditAccess', () => { + let userId = "test" + let readOnly = "dummy" + service.addUserEditAccess(userId, readOnly).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/toggleUserEditAccess/"); + }); +}); + +it('should get addReportRole', () => { + let userId = "test" + service.addReportRole(userId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/addReportRole"); + }); +}); + +it('should get removeReportRole', () => { + let userId = "test" + service.removeReportRole(userId).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/removeReportRole"); + }); +}); + +it('should get addRoleEditAccess', () => { + let userId = "test" + let readOnly = "dummy" + service.addRoleEditAccess(userId, readOnly).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/toggleRoleEditAccess/"); + }); +}); + +it('should get saveSecurityTabInfo', () => { + let test : any; + service.saveSecurityTabInfo(test).subscribe((resp) => { + expect(resp).toBe(environment.baseUrl + "report/security/updateReportSecurityInfo"); + }); +}); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql-validate-error-dialog/sql-validate-error-dialog.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql-validate-error-dialog/sql-validate-error-dialog.component.spec.ts index 979b40f2..bf5f7f24 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql-validate-error-dialog/sql-validate-error-dialog.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql-validate-error-dialog/sql-validate-error-dialog.component.spec.ts @@ -2,9 +2,10 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SQLValidateErrorDialogComponent } from './sql-validate-error-dialog.component'; -describe('ValidateErrorComponentComponent', () => { +describe('ValidateErrorComponent', () => { let component: SQLValidateErrorDialogComponent; let fixture: ComponentFixture<SQLValidateErrorDialogComponent>; + let tableobj: any=JSON.stringify({"errormessage":"DummyError","stacktrace":"trace"}) beforeEach(async(() => { TestBed.configureTestingModule({ @@ -16,6 +17,7 @@ describe('ValidateErrorComponentComponent', () => { beforeEach(() => { fixture = TestBed.createComponent(SQLValidateErrorDialogComponent); component = fixture.componentInstance; + component.tableObj=tableobj; fixture.detectChanges(); }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts index 0f09e4eb..c894bff6 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.component.spec.ts @@ -1,25 +1,107 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SQLComponent } from './sql.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { SqlService } from './sql.service'; +import 'rxjs/add/observable/of'; +import { Observable } from 'rxjs/Observable'; +import { element } from '@angular/core/src/render3'; +import { environment } from 'src/environments/environment'; describe('SQLComponentComponent', () => { + let sqlService: SqlService; let component: SQLComponent; let fixture: ComponentFixture<SQLComponent>; + const reportId = "test"; + const finalGetObj = {"query":"dummyQuery"} beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SQLComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ SQLComponent ], + imports: [FormsModule, HttpClientTestingModule, RouterTestingModule], + providers: [SqlService] }) .compileComponents(); + sqlService = TestBed.get(SqlService); })); beforeEach(() => { + fixture = TestBed.createComponent(SQLComponent); component = fixture.componentInstance; + component.reportId1 = reportId; + component.finalGetObj = finalGetObj; + sqlService = TestBed.get(SqlService); fixture.detectChanges(); + }); it('should create', () => { expect(component).toBeTruthy(); }); + + it('should test ngOnInit method', () => { + component.ngOnInit(); + expect(component.showSaveSQLDialog).toEqual(false); + expect(component.SQLPostResponse).toEqual(true); + expect(component.ValidatePostResponse).toEqual({}); + }); + + it('should test ngOnChanges methods', () => { + + fixture.detectChanges(); + component.ngOnChanges(); + expect(component.showSaveSQLDialog).toEqual(false); + expect(component.SQLPostResponse).toEqual(true); + expect(component.ValidatePostResponse).toEqual({}); + }); + + it('should test saveSQL methods if condition', () => { + component.SQLPostResponse = true; + component.saveSQL(); + expect(component.SQLstatus).toEqual("Success!"); + expect(component.SQLmessage).toEqual("Your change has been saved! Definition is updated."); + expect(component.showSaveSQLDialog).toEqual(component.showSaveSQLDialog); + expect(component.SQLclosable).toEqual(true); + }); + + it('should test validate method', () => { + component.validate(); + }); + + it('should test closeSaveModal method', () => { + component.closeSaveModal(); + expect(component.showSaveSQLDialog).toEqual(component.showSaveSQLDialog); + expect(component.SQLclosable).toEqual(false); + }); + + it('should test closeValidateModal method', () => { + component.reportMode = "Create"; + component.Validatestatus = "SQL Test Run - Failed!"; + component.closeValidateModal(); + expect(component.sqlText).toEqual(component.sqlText); + expect(component.showValidateSQLDialog).toEqual(component.showValidateSQLDialog); + expect(component.Validateclosable).toEqual(false); + + component.reportMode = "Create"; + component.Validatestatus = "SQL Test Run - Passed!"; + component.closeValidateModal(); + expect(component.showValidateSQLDialog).toEqual(component.showValidateSQLDialog); + expect(component.Validateclosable).toEqual(false); + }); + + it('should test SetValidateResponseString method', () => { + component.SetValidateResponseString("testing"); + expect(component.ValidateResponseString).toEqual("testing"); + }); + + it('should test GetValidateResponseString method', () => { + component.ValidateResponseString = 'test'; + expect(component.GetValidateResponseString()).toEqual("test"); + }); + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.service.spec.ts index addec39f..68978d90 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/sql/sql.service.spec.ts @@ -1,12 +1,37 @@ import { TestBed } from '@angular/core/testing'; import { SqlService } from './sql.service'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { HttpClient } from '@angular/common/http'; +import { environment } from 'src/environments/environment'; describe('SqlService', () => { - beforeEach(() => TestBed.configureTestingModule({})); + + let service: SqlService; + + beforeEach(() => {TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [SqlService, HttpClient, HttpClientTestingModule] + }) + service = TestBed.get(SqlService); +}); it('should be created', () => { const service: SqlService = TestBed.get(SqlService); expect(service).toBeTruthy(); }); + + it('should getSQLTabData', () => { + service.getSQLTabData("test").subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should postSQLValidateAndSave', () => { + service.postSQLValidateAndSave("test").subscribe((res) => { + expect(res).toBe(environment) + }); + }); + + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-component/header-tabs.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-component/header-tabs.component.spec.ts index d297fa06..d8166076 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-component/header-tabs.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-component/header-tabs.component.spec.ts @@ -1,14 +1,21 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { HeaderTabsComponent } from './header-tabs.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { CommonModule } from '@angular/common'; describe('MainComponentComponent', () => { let component: HeaderTabsComponent; let fixture: ComponentFixture<HeaderTabsComponent>; + beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ HeaderTabsComponent ] + schemas:[CUSTOM_ELEMENTS_SCHEMA], + declarations: [ HeaderTabsComponent ], + imports:[HttpClientTestingModule,RouterTestingModule] }) .compileComponents(); })); @@ -17,9 +24,51 @@ describe('MainComponentComponent', () => { fixture = TestBed.createComponent(HeaderTabsComponent); component = fixture.componentInstance; fixture.detectChanges(); + }); it('should create', () => { expect(component).toBeTruthy(); }); + + + it('should test if condition in ngOnInit method',()=>{ + component.reportId = "" + component.reportMode="" + component.ngOnInit(); + expect(component.finalReportId).toEqual("-1"); + expect(component.repMode).toEqual("Create"); + expect(component.reportId).toEqual("-1"); + expect(component.reportMode).toEqual("Create"); + }); + + it('should test else condition in ngOnInit method',()=>{ + component.reportId="Indrijeet"; + component.reportMode="kumar"; + component.ngOnInit(); + expect(component.finalReportId).toEqual(component.reportId); + }); + + it('should test if condition in ngAfterViewInit method',()=>{ + component.reportId = ""; + component.reportMode=""; + component.ngAfterViewInit(); + expect(component.finalReportId).toEqual("-1"); + expect(component.repMode).toEqual("Create"); + expect(component.reportId).toEqual("-1"); + expect(component.reportMode).toEqual("Create"); + }); + + it('should test else condition in ngAfterViewInit method',()=>{ + component.reportId="indrijeet"; + component.reportMode="kumar"; + component.ngAfterViewInit(); + expect(component.finalReportId).toEqual(component.reportId) + expect(component.repMode).toEqual(component.reportMode) + }); + + it('should test ngDoCheck method',()=>{ + component.ngDoCheck(); + console.log(component.tabChanged); + }) }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-wrapper-component/header-tabs-wrapper.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-wrapper-component/header-tabs-wrapper.component.spec.ts index 60f464b8..9cd37313 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-wrapper-component/header-tabs-wrapper.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/header-tabs-wrapper-component/header-tabs-wrapper.component.spec.ts @@ -1,6 +1,8 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { HeaderTabsWrapperComponent } from './header-tabs-wrapper.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { RouterTestingModule } from '@angular/router/testing'; describe('ReportsComponentComponent', () => { let component: HeaderTabsWrapperComponent; @@ -8,7 +10,9 @@ describe('ReportsComponentComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ HeaderTabsWrapperComponent ] + declarations: [ HeaderTabsWrapperComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + imports:[RouterTestingModule] }) .compileComponents(); })); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts index b61e9c56..2c01ff14 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/report-list.component.spec.ts @@ -2,22 +2,30 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; -import { MatTableModule } from '@angular/material/table'; +import { MatTableModule, MatTableDataSource } from '@angular/material/table'; import { ReportListComponent } from './report-list.component'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { Router } from '@angular/router'; +import { AllReportsDataSource } from './report-list-datasource'; -describe('AllReportsComponent', () => { +describe('ReportListComponent', () => { let component: ReportListComponent; let fixture: ComponentFixture<ReportListComponent>; beforeEach(async(() => { TestBed.configureTestingModule({ + schemas: [CUSTOM_ELEMENTS_SCHEMA], declarations: [ ReportListComponent ], imports: [ NoopAnimationsModule, MatPaginatorModule, MatSortModule, MatTableModule, + HttpClientTestingModule, + RouterTestingModule ] }).compileComponents(); })); @@ -31,4 +39,68 @@ describe('AllReportsComponent', () => { it('should compile', () => { expect(component).toBeTruthy(); }); -}); + + it('should test initializeReportList method', () => { + component.initializeReportList(); + expect(component.showSpinner).toEqual(true); + expect(component.dataSource).toEqual(new AllReportsDataSource()); + expect(component.intermediateDisplayedColumns).toEqual(new Array()); + expect(component.finalGETObj).toEqual(new Object()); + expect(component.finalGETObjRowsArr).toEqual(new Array()); + expect(component.rowArr).toEqual(new Array()); + expect(component.reportIdArr).toEqual(new Array()); + expect(component.toggle).toEqual(false); + expect(component.toggle1).toEqual(false); + expect(component.finalRowArr).toEqual(new Array()); + }); + + it('should test ngOnInit method', () => { + component.ngOnInit(); + expect(component.toggle).toEqual(false); + }); + + it('should test confirmDelete method', () => { + component.confirmDelete("test"); + expect(component.showDialog).toEqual(true); + expect(component.closable).toEqual(true); + expect(component.newReportId).toEqual("test"); + }); + + it('should test ngAfterViewInit method', () => { + component.ngAfterViewInit(); + expect(component.dataSource.sort).toEqual(component.sort); + expect(component.dataSource.paginator).toEqual(component.paginator); + expect(component.table.dataSource).toEqual(component.dataSource); + }); + + it('should test displayReport method', () => { + component.displayReport("Testing"); + expect(component.reportId).toEqual("Testing"); + }); + + it('should test runReport method', () => { + component.runReport("Test"); + expect(component.reportId).toEqual("Test"); + }); + + it('should test applyFilter method', () => { + component.applyFilter("ABC"); + expect(component.dataSource1.filter).toEqual("abc"); + + }); + + it('should test close method', () => { + component.close(); + expect(component.showDialog).toEqual(true); + expect(component.closable).toEqual(false); + }); + + it('should test deleteReport method', () => { + component.deleteReport(); + }); + + it('should test openReportSchedule method', () => { + component.openReportSchedule("test"); + }); + +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/search/search.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/search/search.component.spec.ts index 094e52b2..2140e0ae 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/search/search.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/search/search.component.spec.ts @@ -1,9 +1,12 @@ + /* * ============LICENSE_START========================================== * ONAP Portal SDK * =================================================================== * Copyright © 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"); @@ -14,50 +17,67 @@ * * 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 { SearchComponent } from './search.component'; - +import { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core'; +import { MatTableModule, MatTableDataSource, MatMenuModule, MatSortModule, MatPaginatorModule } from '@angular/material'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { RouterTestingModule } from '@angular/router/testing'; +import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; +import { NgbModule, NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; +import { NgbModalBackdrop } from '@ng-bootstrap/ng-bootstrap/modal/modal-backdrop'; +import { NgModel } from '@angular/forms'; describe('SearchComponent', () => { let component: SearchComponent; let fixture: ComponentFixture<SearchComponent>; - beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SearchComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], + declarations: [ SearchComponent , ConfirmationModalComponent], + imports: [NoopAnimationsModule, + MatPaginatorModule, + MatSortModule, + MatTableModule, + MatMenuModule, + HttpClientTestingModule, + RouterTestingModule, + ] }) .compileComponents(); - })); - + })); beforeEach(() => { fixture = TestBed.createComponent(SearchComponent); component = fixture.componentInstance; fixture.detectChanges(); }); - it('should create', () => { expect(component).toBeTruthy(); }); -}); + it('should test getUsers method', () => { + component.getUsers(); + expect(component.showSpinner).toEqual(true); + let response; + component.response.subscribe(data => { + expect(response).toEqual(data); + expect(component.result).toEqual(JSON.parse(response.data)); + expect(component.profileList).toEqual(JSON.parse(component.result.profileList)); + expect(component.dataSource).toEqual(new MatTableDataSource(component.profileList)); + expect(component.dataSource.paginator).toEqual(component.paginator); + expect(component.dataSource.sort).toEqual(component.sort); + expect(component.showSpinner).toEqual(false); + }); + }); + // it('should test applyFilter method', () => { + // let filterValue = "test" + // component.applyFilter(filterValue); + // expect(component.dataSource.filter).toEqual(filterValue.trim().toLowerCase()); + // }); +});
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.html index c0611493..846dae52 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.html +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.html @@ -59,14 +59,16 @@ </div> </div> <div class="form-row"> - <label for="textinputID-3a">Organization User ID</label> + <label for="textinputID-3a">Organization User ID</label> <a style="cursor: hand;" target="_new" + href="http://webphone.att.com/cgi-bin/webphones.pl?id={{profile.orgUserId}}">wephone</a> <input [(ngModel)]="profile.orgUserId" type="text" name="orgUserId" class="form-control" id="orgUserId" style="width: 100%;" disabled="true"> </div> <div class="form-row"> <label for="textinputID-3a">Organization Manager ID</label> - + <a style="cursor: hand;" target="_new" + href="http://webphone.att.com/cgi-bin/webphones.pl?id={{profile.orgManagerUserId}}">wephone</a> <input [(ngModel)]="profile.orgManagerUserId" type="text" name="orgManagerUserId" class="form-control" id="orgManagerUserId" style=" @@ -195,33 +197,7 @@ </div> - <table mat-table [dataSource]="dataSource" matSort> - <ng-container matColumnDef="name"> - <th mat-header-cell *matHeaderCellDef id="heading1"> Name</th> - <td mat-cell *matCellDef="let rowData"> {{rowData.name}} </td> - </ng-container> - - <!--<ng-container matColumnDef="delete"> - <th mat-header-cell *matHeaderCellDef id="heading2"> Delete</th> - <td id="rowheader_t1_{{i}}" mat-cell *matCellDef="let rowData; let i=index;"> - <span class="icon-trash" id="{{i}}-button-role-remove" (click)="removeRole(rowData)"> - <i class="icon ion-md-trash"></i> - </span> - </td> - </ng-container>--> - - <!-- Active Column --> - <ng-container matColumnDef="active"> - <th id="col3" mat-header-cell *matHeaderCellDef>Active ?</th> - <td id="rowheader_t1_{{i}}-userId" mat-cell *matCellDef="let element; let i=index;"> - <mat-slide-toggle [(ngModel)]="element.selected" (change)="toggleRoles(element)"></mat-slide-toggle> - </td> - </ng-container> - - <tr mat-header-row *matHeaderRowDef="userRolesHeader"></tr> - <tr mat-row *matRowDef="let rowData; columns: userRolesHeader;"> - - </table> + <rdp-data-table [data]="ociavailableRoles" [settings]="settings"></rdp-data-table> <span class="ecomp-spinner" *ngIf="showSpinner"></span> </div> </div>
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.spec.ts index 2e91c188..7481acc8 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.spec.ts @@ -4,6 +4,8 @@ * =================================================================== * Copyright © 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"); @@ -39,14 +41,33 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { SelfComponent } from './self.component'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { MatTableModule, MatSelectModule, MatSlideToggleModule } from '@angular/material'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { UserService } from 'src/app/shared/services/user/user.service'; +import { Observable } from 'rxjs'; describe('SelfComponent', () => { let component: SelfComponent; let fixture: ComponentFixture<SelfComponent>; + let userService:UserService; + let tableobj:any=JSON.stringify({"errormessage":"DummyError","stacktrace":"trace"}); beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ SelfComponent ] + schemas: [CUSTOM_ELEMENTS_SCHEMA], + declarations: [ SelfComponent ], + imports: [ + ReactiveFormsModule, + FormsModule, + MatTableModule, + MatSelectModule, + MatSlideToggleModule, + BrowserAnimationsModule, + HttpClientTestingModule + ] }) .compileComponents(); })); @@ -55,9 +76,19 @@ describe('SelfComponent', () => { fixture = TestBed.createComponent(SelfComponent); component = fixture.componentInstance; fixture.detectChanges(); + userService=TestBed.get(UserService); }); it('should create', () => { expect(component).toBeTruthy(); }); + + describe('should test ngOnInit method',()=>{ + it('should test subscribe',()=>{ + let spy=spyOn(userService,'getFunctionalMenuStaticDetailSession').and.returnValue(Observable.of('you object')); + component.ngOnInit(); + expect(spy).toHaveBeenCalled(); + }) + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.ts index 23a2bb07..45210f80 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/ext/profile/self/self.component.ts @@ -45,6 +45,7 @@ import { NgbModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap'; import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component'; import { ErrorModalComponent } from 'src/app/modals/error-modal/error-modal.component'; import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; +import { Column, ColumnTypes, DataTableSettings } from 'portalsdk-tag-lib'; @Component({ selector: 'app-self', @@ -92,6 +93,9 @@ export class SelfComponent implements OnInit { selectedTimeZone; finalSelectedRoles: any; + public settings; + public columns: any = []; + ngOnInit() { this.showSpinner = false; @@ -145,7 +149,14 @@ export class SelfComponent implements OnInit { } } - this.dataSource = new MatTableDataSource(this.ociavailableRoles); + console.log("Data : ", this.ociavailableRoles); + this.columns.push(new Column("name", "Name", ColumnTypes.TEXT, false, null)); + this.settings = new DataTableSettings() + this.settings.columns = this.columns; + this.settings.isPaginationEnabled = false; + this.settings.isReadOnly = true; + this.settings.isTableSearchEnabled = false; + this.settings.isToggleEnabled = true; if (this.ociavailableRoles != null) { for (let role of this.ociavailableRoles) { diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/header/header.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/header/header.service.spec.ts index c93a83fb..c6a2de49 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/header/header.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/header/header.service.spec.ts @@ -1,17 +1,35 @@ import { TestBed } from '@angular/core/testing'; -import { HttpClientModule } from '@angular/common/http'; +import { HttpClientModule, HttpClient, HttpXhrBackend } from '@angular/common/http'; import { HeaderService } from './header.service'; +import { environment } from 'src/environments/environment'; +import { HttpTestingController } from '@angular/common/http/testing'; +import { get } from 'http'; + describe('HeaderService', () => { - beforeEach(() => TestBed.configureTestingModule({ - imports:[HttpClientModule] - })); + let service: HeaderService; + let httpMock: HttpTestingController; + + beforeEach(() =>{ TestBed.configureTestingModule({ + imports:[HttpClientModule], + providers: [HttpClient, HeaderService, HttpTestingController], + }); + service = TestBed.get(HeaderService); + httpMock = TestBed.get(HttpTestingController); +}); it('should be created', () => { const service: HeaderService = TestBed.get(HeaderService); expect(service).toBeTruthy(); }); + + it('should test getTopMenuItems', () => { + service.getTopMenuItems().subscribe((res) => { + expect(res).toBe(environment.getTopMenu); + }); + }) + }); diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/sidebar/sidebar.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/sidebar/sidebar.service.spec.ts index 6e8a3ba6..255e4d81 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/sidebar/sidebar.service.spec.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/sidebar/sidebar.service.spec.ts @@ -4,6 +4,8 @@ * =================================================================== * Copyright © 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"); @@ -36,17 +38,42 @@ * */ import { TestBed } from '@angular/core/testing'; -import { HttpClientModule } from '@angular/common/http'; +import { HttpClientModule, HttpClient } from '@angular/common/http'; import { SidebarService } from './sidebar.service'; +import { environment } from 'src/environments/environment'; +import { inject } from '@angular/core'; +import { HttpTestingController } from '@angular/common/http/testing'; describe('SidenavService', () => { - beforeEach(() => TestBed.configureTestingModule({ - imports: [HttpClientModule] - })); + + let service: SidebarService; + let httpMock: HttpTestingController; + + beforeEach(() => { TestBed.configureTestingModule({ + imports: [HttpClientModule], + providers: [SidebarService, HttpTestingController, HttpClient] + }); + + service = TestBed.get(SidebarService); + httpMock = TestBed.get(HttpTestingController); +}); it('should be created', () => { const service: SidebarService = TestBed.get(SidebarService); expect(service).toBeTruthy(); }); + + it('should test getLeftMenu method', () =>{ + service.getLeftMenu().subscribe((res) => { + expect(res).toBe(environment); + }); + }); + + it('should test getPage method', () =>{ + service.getPage("test").subscribe((res) => { + expect(res).toBe(environment.baseUrl+"test"); + }); +}); + }); diff --git a/ecomp-sdk/epsdk-core/pom.xml b/ecomp-sdk/epsdk-core/pom.xml index 1e8bca6a..bf6e1764 100644 --- a/ecomp-sdk/epsdk-core/pom.xml +++ b/ecomp-sdk/epsdk-core/pom.xml @@ -43,6 +43,60 @@ </systemPropertyVariables> </configuration> </plugin> + + <plugin> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>2.17</version> + <dependencies> + <dependency> + <groupId>org.onap.oparent</groupId> + <artifactId>checkstyle</artifactId> + <version>2.0.0</version> + </dependency> + </dependencies> + <executions> + <execution> + <id>onap-license</id> + <goals> + <goal>check</goal> + </goals> + <phase>process-sources</phase> + <configuration> + <configLocation>onap-checkstyle/check-license.xml</configLocation> + <includeResources>false</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>false</includeTestResources> + <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory> + <excludes> + </excludes> + <consoleOutput>true</consoleOutput> + <failsOnViolation>false</failsOnViolation> + </configuration> + </execution> + <execution> + <id>onap-java-style</id> + <goals> + <goal>check</goal> + </goals> + <phase>none</phase> + <configuration> + <!-- Use Google Java Style Guide: + https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml + with minor changes --> + <configLocation>onap-checkstyle/onap-java-style.xml</configLocation> + <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory --> + <sourceDirectory>src</sourceDirectory> + <includeResources>true</includeResources> + <includeTestSourceDirectory>true</includeTestSourceDirectory> + <includeTestResources>true</includeTestResources> + <excludes> + </excludes> + <consoleOutput>true</consoleOutput> + <failsOnViolation>false</failsOnViolation> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> diff --git a/ecomp-sdk/pom.xml b/ecomp-sdk/pom.xml index a5d1cfc7..b5f59ada 100644 --- a/ecomp-sdk/pom.xml +++ b/ecomp-sdk/pom.xml @@ -6,7 +6,7 @@ <parent> <groupId>org.onap.oparent</groupId> <artifactId>oparent</artifactId> - <version>1.2.0</version> + <version>2.0.0</version> <relativePath/> </parent> @@ -125,7 +125,7 @@ <pluginManagement> <plugins> <!-- Silence Eclipse/m2e complaints about checkstyle plugin brought in - by OParent --> + by OParent <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> @@ -150,6 +150,7 @@ </lifecycleMappingMetadata> </configuration> </plugin> + --> <!-- maven-site-plugin config is provided by OParent --> <plugin> <groupId>org.apache.maven.plugins</groupId> diff --git a/ecomp-sdk/portalsdk-tag-lib-test-app/package-lock.json b/ecomp-sdk/portalsdk-tag-lib-test-app/package-lock.json index 9bc7bc01..780e6580 100644 --- a/ecomp-sdk/portalsdk-tag-lib-test-app/package-lock.json +++ b/ecomp-sdk/portalsdk-tag-lib-test-app/package-lock.json @@ -8235,7 +8235,7 @@ }, "portalsdk-tag-lib": { "version": "file:portalsdk-tag-lib-0.0.1.tgz", - "integrity": "sha512-O3yOgsgD0OnvfWF8sM/kW27YdCu7HRUqhGXJOMEhKJY04RAGVHsjTkl2bEfaGu/n79GHYG8W3X1rqgHhV8OhzA==", + "integrity": "sha512-iqr81BSaZSC+ids5jIxDwvspC/yEKMX2PlTMoFAy0mvI/tcAeKUvSKgsFadqPRHBPbTbtXFDDpn22ZxgTtyc9Q==", "requires": { "tslib": "^1.9.0" } diff --git a/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz b/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz Binary files differindex ece29655..0bf78906 100644 --- a/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz +++ b/ecomp-sdk/portalsdk-tag-lib-test-app/portalsdk-tag-lib-0.0.1.tgz diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.scss b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.scss index 6e53e96f..64dd1d38 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.scss +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.scss @@ -1,3 +1,37 @@ -.input-editor{ - width: 31em; -}
\ No newline at end of file +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2020 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * 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============================================ + * + * + */
\ No newline at end of file diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts index 31c9e9d7..ea6d1746 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-input-editor/rdp-input-editor.component.ts @@ -1,3 +1,41 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2020 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * 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 { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; @Component({ diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts index a657a000..5dbc037b 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-cell-editor/rdp-select-editor/rdp-select-editor.component.ts @@ -1,15 +1,56 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2020 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * 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 { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'rdp-select-editor', styleUrls: ['./rdp-select-editor.component.scss'], template: ` - <mat-select [(value)]="selected" - (selectionChange)="detectChange(columnValue)"> - <mat-option *ngFor="let item of data" [value]="item.name"> - {{item.name}} - </mat-option> - </mat-select> + <mat-form-field> + <mat-label>{{columntitle | titlecase}}:</mat-label> + <mat-select [(value)]="selected" + (selectionChange)="detectChange(columnValue)"> + <mat-option *ngFor="let item of data" [value]="item.name"> + {{item.name}} + </mat-option> + </mat-select> + </mat-form-field> ` }) export class RdpSelectEditorComponent implements OnInit { diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html index 8a967121..a0e2b01b 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.html @@ -2,7 +2,7 @@ ============LICENSE_START========================================== ONAP Portal- SDK =================================================================== - Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. =================================================================== Unless otherwise specified, all software contained herein is licensed @@ -45,10 +45,10 @@ <div class="modal-body"> <!-- This is the modal body where fields has to apper with respect to their field type --> - <div *ngFor="let column of columnsInfoList"> - {{column.dispalyTitle | titlecase}} + <div *ngFor="let column of columnsInfoList" class="elementsContainer"> <div [ngSwitch]="column.type"> - <div *ngSwitchCase="'text'"> + <div *ngSwitchCase="'text'" class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-input-editor (changedColumnValue)="columnDataChanged($event, column.title)" rowdata="{{selectedRowData}}" columntitle="{{column.title}}" @@ -56,28 +56,33 @@ > </rdp-input-editor> </div> - <div *ngSwitchCase="'dropdown'"> + <div *ngSwitchCase="'dropdown'" class="groupItem"> <rdp-select-editor (changedColumnValue)="columnDataChanged($event, column.title)" rowdata="{{selectedRowData}}" [data]="column.listData" columntitle="{{column.title}}"></rdp-select-editor> </div> - <div *ngSwitchCase="'textarea'"> + <div *ngSwitchCase="'textarea'" class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-textarea-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-textarea-editor> </div> - <div *ngSwitchCase="'checkbox'"> + <div *ngSwitchCase="'checkbox'" class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-checkbox-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-checkbox-editor> </div> - <div *ngSwitchCase="'radio'"> + <div *ngSwitchCase="'radio'" class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-radio-editor (changedColumnValue)="columnDataChanged($event, column.title)" [data]="column.listData" rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-radio-editor> </div> - <div *ngSwitchCase="'datepicker'"> + <div *ngSwitchCase="'datepicker'" class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-datepicker-editor rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-datepicker-editor> </div> - <div *ngSwitchDefault> + <div *ngSwitchDefault class="groupItem"> + <label class="item-label">{{column.dispalyTitle | titlecase}}:</label><br> <rdp-input-editor (changedColumnValue)="columnDataChanged($event, column.title)" rowdata="{{selectedRowData}}" columntitle="{{column.title}}"></rdp-input-editor> </div> diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.scss b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.scss index e69de29b..c0c95d90 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.scss +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.scss @@ -0,0 +1,63 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * Copyright © 2020 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * 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============================================ + * + * + */ + +::ng-deep .modal-dialog { + max-width: 1200px; + width: 855px; + overflow-x: auto; + overflow-y: auto; +} + + +.elementsContainer{ + display: inline-flex; +} + +.groupItem{ + margin-right: 11px; + margin-bottom: 10px; +} + +.form-field{ + height: 30px; + width: 198px +} + +.item-label{ + margin-bottom: 1px; +}
\ No newline at end of file diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts index ede8aa25..d92ce320 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table-edit/rdp-data-table-edit.component.ts @@ -12,6 +12,7 @@ export class RdpDataTableEditComponent implements OnInit { @Input() settings: any; @Input() rowdata: any; @Input() isEditMode: boolean; + @Input() applicationService: any; @Output() passEntry: EventEmitter<any> = new EventEmitter(); modalPopupTitle: string; selectedRowData: any; @@ -35,7 +36,18 @@ export class RdpDataTableEditComponent implements OnInit { } saveChanges() { - this.passEntry.emit(this.rowdata); + this.applicationService.update(this.rowdata); + this.applicationService.statusResponse.subscribe(responseData => { + if (responseData == "200") { + console.log("Success") + this.applicationService.get(); + this.applicationService.updatedData.subscribe(val => { + if (val) { + this.passEntry.emit(val); + } + }) + } + }) this.activeModal.close(); } diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.html b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.html index a87a7b70..4f98abd5 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.html +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.html @@ -8,6 +8,7 @@ <i class="icon ion-md-person-add"></i> Add </button> </div> + <span class="rdp-spinner" *ngIf="showSpinner"></span> <!-- <rdp-scroll-container [more]="hasMore()" [scrollOffset]="2500" [scrollDelay]="3000" (scrolled)="handleScroll($event)" [class.full]="full" [class.part]="!full"> --> <table mat-table #table [dataSource]="dataSource" style="width: 100%" matSort> diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.ts index 7187ca07..b833c6fb 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.ts +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/lib/rdp/rdp-data-table/rdp-data-table.component.ts @@ -77,7 +77,7 @@ export class RdpDataTableComponent<T> implements OnChanges, AfterViewInit, OnIni showAddButton: boolean = true; result : any; totalRowsCount: any; - + showSpinner: boolean; constructor(public dataTableService: RdpDataTableService, private rdpModal: RdpModalService) { } @@ -221,36 +221,31 @@ export class RdpDataTableComponent<T> implements OnChanges, AfterViewInit, OnIni * @param rowData */ openEditModalPopup(rowData: any) { + this.showSpinner = true; + console.log("Row data : ", rowData); this.cloneObject = Object.assign({}, rowData) - console.log("Copied Object : ", this.cloneObject); - if (this.cloneObject) { - const modalRef = this.rdpModal.open(RdpDataTableEditComponent, { size: 'lg' }); - modalRef.componentInstance.title = 'Edit'; - modalRef.componentInstance.settings = this.settings; - if (this.cloneObject != 'undefined' && this.cloneObject) { - modalRef.componentInstance.rowdata = this.cloneObject; - modalRef.componentInstance.isEditMode = true; - this.isEditMode = true; - } else { - modalRef.componentInstance.rowdata = {}; - modalRef.componentInstance.isEditMode = false; - this.isEditMode = false; - } - modalRef.componentInstance.passEntry.subscribe((receivedEntry: any) => { - if (receivedEntry) { - console.log("Original Object : ", rowData); - let response = this.updateRow(receivedEntry); - console.log("Response form application ",response); - console.log("Entry : ",receivedEntry); - rowData = receivedEntry; - if(this.dataTableService.response == "Success"){ - console.log("Result is success, update the tabel"); - this.columnsInfoList.push(receivedEntry); - console.log("Updtae column info list : ", this.columnsInfoList); - } - } - }); + console.log("Update or Add functionality intialized"); + const modalRef = this.rdpModal.open(RdpDataTableEditComponent, { size: 'lg' }); + modalRef.componentInstance.title = 'Edit'; + modalRef.componentInstance.settings = this.settings; + if (this.cloneObject.data != 'undefined' && this.cloneObject) { + modalRef.componentInstance.rowdata = this.cloneObject; + modalRef.componentInstance.applicationService = this.applicationService; + modalRef.componentInstance.isEditMode = true; + this.isEditMode = true; + } else { + modalRef.componentInstance.rowdata = {}; + modalRef.componentInstance.isEditMode = false; + this.isEditMode = false; } + modalRef.componentInstance.passEntry.subscribe((receivedEntry: any) => { + if (receivedEntry) { + this.data = receivedEntry; + this.setData(this.data); + } + this.showSpinner = false; + }); + } handleScroll = (scrolled: boolean) => { diff --git a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/public_api.ts b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/public_api.ts index 47cda350..4856082b 100644 --- a/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/public_api.ts +++ b/ecomp-sdk/portalsdk-tag-library/projects/portalsdk-tag-lib/src/public_api.ts @@ -13,4 +13,5 @@ export * from './lib/rdp/rdp-scroll-container/rdp-scroll-container.component'; export * from './lib/rdp/model/column'; export * from './lib/rdp/model/data-table-settings'; export * from './lib/rdp/rdp.module'; -export * from './lib/rdp/shared/rdpCrudInterface';
\ No newline at end of file +export * from './lib/rdp/shared/rdpCrudInterface'; +export * from './lib/rdp/services/rdp-modal.service';
\ No newline at end of file |