diff options
Diffstat (limited to 'portal-FE-os/src/app/pages/application-onboarding')
3 files changed, 86 insertions, 6 deletions
diff --git a/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.spec.ts b/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.spec.ts index 0ea27629..629e5fa6 100644 --- a/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.spec.ts +++ b/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.spec.ts @@ -39,25 +39,94 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ApplicationDetailsDialogComponent } from './application-details-dialog.component'; +import { NgMaterialModule } from 'src/app/ng-material-module'; +import { FormsModule } from '@angular/forms'; +import { NgbActiveModal, NgbModal, NgbModule } from '@ng-bootstrap/ng-bootstrap'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { IApplications } from 'src/app/shared/model/applications-onboarding/applications'; +import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component'; +import { BrowserDynamicTestingModule } from '@angular/platform-browser-dynamic/testing'; +import { NgbModalBackdrop } from '@ng-bootstrap/ng-bootstrap/modal/modal-backdrop'; +import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; + describe('ApplicationDetailsDialogComponent', () => { let component: ApplicationDetailsDialogComponent; let fixture: ComponentFixture<ApplicationDetailsDialogComponent>; + const applicationObj: IApplications = {"id":"testID"}; beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ ApplicationDetailsDialogComponent ] - }) + declarations: [ ApplicationDetailsDialogComponent,InformationModalComponent,ConfirmationModalComponent], + imports: [NgMaterialModule,FormsModule,HttpClientTestingModule,NgbModule.forRoot()], + providers: [NgbActiveModal] + }).overrideModule(BrowserDynamicTestingModule, { set: { entryComponents: [InformationModalComponent,ConfirmationModalComponent] } }) .compileComponents(); })); beforeEach(() => { fixture = TestBed.createComponent(ApplicationDetailsDialogComponent); component = fixture.componentInstance; + component.applicationObj = applicationObj; fixture.detectChanges(); }); it('should create', () => { expect(component).toBeTruthy(); }); + it('removeImage should return stubbed value', () => { + spyOn(component, 'removeImage').and.callThrough(); + component.removeImage(); + expect(component.removeImage).toHaveBeenCalledWith(); + }); + it('saveChanges should return stubbed value', () => { + component.applicationObj.isCentralAuth = true; + component.applicationObj.isEnabled = false; + spyOn(component, 'saveChanges').and.callThrough(); + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + component.applicationObj.isEnabled = true; + component.applicationObj.url = 'www.test.com' + component.applicationObj.restrictedApp =true; + + //spyOn(component, 'saveChanges').and.callThrough(); + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + component.applicationObj.isCentralAuth = false; + component.applicationObj.url = 'test' + component.applicationObj.restrictedApp =false; + component.applicationObj.isOpen = true; + component.isEditMode =true; + //spyOn(component, 'saveChanges').and.callThrough(); + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + }); + it('saveChanges Central Auth is disabled', () => { + component.applicationObj.isCentralAuth = false; + component.applicationObj.isEnabled = false; + spyOn(component, 'saveChanges').and.callThrough(); + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + component.applicationObj.isEnabled = true; + component.applicationObj.restrictedApp = true; + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + + }); + + it('saveChanges URL validation changes', () => { + component.applicationObj.isCentralAuth = true; + component.applicationObj.isEnabled = true; + component.applicationObj.name ='test'; + component.applicationObj.url = 'https://www.test.com' + component.applicationObj.username ='test' + component.applicationObj.nameSpace ='ONAP' + spyOn(component, 'saveChanges').and.callThrough(); + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + component.applicationObj.restrictedApp = false; + component.isEditMode = true; + component.saveChanges(); + expect(component.saveChanges).toHaveBeenCalledWith(); + }); }); diff --git a/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.ts b/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.ts index 60654461..39d2ffde 100644 --- a/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.ts +++ b/portal-FE-os/src/app/pages/application-onboarding/application-details-dialog/application-details-dialog.component.ts @@ -36,12 +36,13 @@ * */ -import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core'; +import { Component, OnInit, Input, Output, EventEmitter, PLATFORM_ID, Inject, Injector} from '@angular/core'; import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'; import { IApplications } from 'src/app/shared/model/applications-onboarding/applications'; import { ApplicationsService } from 'src/app/shared/services'; import { ConfirmationModalComponent } from 'src/app/modals/confirmation-modal/confirmation-modal.component'; import { InformationModalComponent } from 'src/app/modals/information-modal/information-modal.component'; +import { isPlatformBrowser } from '@angular/common'; @Component({ selector: 'app-application-details-dialog', @@ -59,9 +60,15 @@ export class ApplicationDetailsDialogComponent implements OnInit { isSaving: boolean = false; originalImage: any; ECOMP_URL_REGEX = "/^((?:https?\:\/\/|ftp?\:\/\/)?(w{3}.)?(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)[^-_.]$/i"; + private ngbModal:NgbModal; - constructor(public activeModal: NgbActiveModal, public ngbModal: NgbModal, - public applicationsService : ApplicationsService) { } + constructor(public activeModal: NgbActiveModal, + public applicationsService : ApplicationsService,@Inject(PLATFORM_ID)private platformId:Object,private injector:Injector) { + if(isPlatformBrowser(this.platformId)) + { + this.ngbModal = this.injector.get(NgbModal); + } + } @Input() applicationObj: IApplications; @Output() passEntry: EventEmitter<any> = new EventEmitter(); diff --git a/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.spec.ts b/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.spec.ts index 8e198387..3f750992 100644 --- a/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.spec.ts +++ b/portal-FE-os/src/app/pages/application-onboarding/application-onboarding.component.spec.ts @@ -39,6 +39,9 @@ import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { ApplicationOnboardingComponent } from './application-onboarding.component'; +import { NgMaterialModule } from 'src/app/ng-material-module'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; describe('ApplicationOnboardingComponent', () => { let component: ApplicationOnboardingComponent; @@ -46,7 +49,8 @@ describe('ApplicationOnboardingComponent', () => { beforeEach(async(() => { TestBed.configureTestingModule({ - declarations: [ ApplicationOnboardingComponent ] + declarations: [ ApplicationOnboardingComponent ], + imports: [NgMaterialModule,HttpClientTestingModule,BrowserAnimationsModule] }) .compileComponents(); })); |