Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

import { EwvSearchComponent } from './ewv-search.component';

import { EwvViewerService } from '../ewv-viewer/ewv-viewer.service';
import { FormBuilder } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import { Observer } from 'rxjs/Observer';

describe('EwvSearchComponent', () => {
let component: EwvSearchComponent;

let ewvViewerService: EwvViewerService;
let formBuilder: FormBuilder;
let router;

beforeEach(() => {
ewvViewerService = new EwvViewerService(null, null);
router = { navigate: () => true };
formBuilder = new FormBuilder();

component = new EwvSearchComponent(
router,
ewvViewerService,
formBuilder,
null,
null,
null,
null
);
});

it('should be created', () => {
expect(component).toBeTruthy(); // Expects component to be created
});

// it('test ngOnInit method', () => {
// spyOn(component, 'formInit');
// expect(component.infoMsg).toEqual('');
// expect(component.infoStatusSolid).toEqual(false);

// component.ngOnInit();

// expect(component.formInit).toHaveBeenCalled();
// expect(component.infoMsg).toEqual('');
// expect(component.infoStatusSolid).toEqual(false);
// });


it('test formInit method: valid form if pdiSearchParam value has all numbers and number of characters is greater than 15', () => {
component.formInit();

component.form.get('pdiSearchParam').setValue('12345678901234567');

expect(component.form.get('pdiSearchParam').valid).toEqual(true);
expect(component.form.valid).toEqual(true);
});


it('test onSearch method', () => {
component.formInit();

const returnData = { patientHeaderInfo: { claimType: 'iamtype' } };
spyOn(ewvViewerService, 'searchClaim').and.callFake(
() =>
new Observable((observer: Observer<{}>) => observer.next(returnData))
);

spyOn(ewvViewerService, 'setClaimData');
spyOn(ewvViewerService, 'setPdi');
spyOn(router, 'navigate');
// spyOn(component, 'openloadingSpinnerModal');
// spyOn(component, 'closeloadingSpinnerModal');

expect(ewvViewerService.claimData).toEqual(undefined);
expect(component.infoMsg).toEqual('');
expect(component.infoStatusSolid).toEqual(false);

component.pdiSearchParam = '123456789012345';
component.form.get('pdiSearchParam').setValue('123456789012345');
expect(component.form.valid).toEqual(true);

component.onSearch();

// expect(component.openloadingSpinnerModal).toHaveBeenCalled();
// expect(component.closeloadingSpinnerModal).not.toHaveBeenCalled();

expect(ewvViewerService.setClaimData).toHaveBeenCalled();
expect(ewvViewerService.setClaimData).toHaveBeenCalledWith(returnData);
expect(ewvViewerService.setPdi).toHaveBeenCalled();
expect(ewvViewerService.setPdi).toHaveBeenCalledWith('123456789012345');
expect(ewvViewerService.searchClaim).toHaveBeenCalled();
expect(router.navigate).toHaveBeenCalled();
expect(router.navigate).toHaveBeenCalledWith(['ewv']);

expect(component.infoMsg).toEqual('');
expect(component.infoStatusSolid).toEqual(false);
});

// it('test closeloadingSpinnerModal method', () => {
// component.loadingSpinnerClosed = undefined;
// component.closeloadingSpinnerModal();
// expect(component.loadingSpinnerClosed).toEqual(true);
// });

// it('test openloadingSpinnerModal method', () => {
// component.loadingSpinnerClosed = undefined;
// component.openloadingSpinnerModal();
// expect(component.loadingSpinnerClosed).toEqual(false);
// });

it('test resetForm method', () => {
component.infoMsg = 'This is an info message!';
component.infoStatusSolid = true;
component.pdiSearchParam = '12345';

component.formInit();
component.resetForm();

expect(component.infoMsg).toEqual('This is an info message!');
expect(component.infoStatusSolid).toEqual(false);
expect(component.pdiSearchParam).toEqual('');
});

it('test switchView method', () => {
spyOn(ewvViewerService, 'switchView');
component.switchView('VIEW_INPUT');

expect(ewvViewerService.switchView).toHaveBeenCalled();
expect(ewvViewerService.switchView).toHaveBeenCalledWith('VIEW_INPUT');
});
});