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 { ArsReportsComponent } from './ars-reports.component';
import { ArsReportsService } from './ars-reports.service';
import { FormBuilder } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import { ARSReportResponse } from './ars-reports.model';
import { AttachmentViewerService } from '../../shared/attachment-viewer/attachment-viewer.service';
import { AppSettingsService } from './../../shared/app-settings/app-settings.service';
import { AuthenticationService } from './../../auth/auth.service';

describe('ArsReportsComponent', () => {
let fb: FormBuilder;
let arsReportsService: ArsReportsService;
let attachmentService: AttachmentViewerService;
let component: ArsReportsComponent;
let appSettingsService: AppSettingsService;

beforeEach(() => {
fb = new FormBuilder();
appSettingsService = new AppSettingsService(
new AuthenticationService(null, null, null, null), null
);
arsReportsService = new ArsReportsService(null);
attachmentService = new AttachmentViewerService(null);
component = new ArsReportsComponent(
fb,
arsReportsService,
attachmentService,
appSettingsService,
null
);
});

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

it('should test ngOnInit', () => {
const formInitSpy = spyOn(component, 'formInit');
const setDefaultDateSpy = spyOn(component, 'setDefaultDate');
const arsReportSvcSpy = spyOn(
arsReportsService,
'getPayerInfo'
).and.callFake(() => new Observable(observer => observer.next('')));
const appSettingsServiceSpy = spyOn(
appSettingsService,
'getMenu'
).and.callFake(() => new Observable(observer => observer.next('')));
component.ngOnInit();
expect(appSettingsServiceSpy).toHaveBeenCalled();
expect(formInitSpy).toHaveBeenCalled();
expect(setDefaultDateSpy).toHaveBeenCalled();
});


it('should test fetchData method', () => {
const generateReportRangeSpy = spyOn(
arsReportsService,
'generateReportRange'
).and.callFake(
() => new Observable(observer => observer.next(new ARSReportResponse()))
);
component.fetchData();

expect(component.response).toBeDefined();
});

it('should test resetForm method', () => {
const setDefaultDateSpy = spyOn(component, 'setDefaultDate');
component.formInit();
component.resetAttachReports();

expect(component.form.get('startDate').value).toEqual('');
expect(component.showResults).toBeFalsy();
expect(component.errorMsg).toEqual('');
expect(setDefaultDateSpy).toHaveBeenCalled();
});

it('should test datesValidator method else statement', () => {
component.dateRangeError = true;
component.formInit();
component.form.get('startDate').setValue('01/04/2016');
component.form.get('endDate').setValue('01/05/2017');
component.datesValidator();
expect(component.dateRangeError).toBeFalsy();
});

it('should test updateTable method', () => {
const fetchDataSpy = spyOn(component, 'fetchData');

component.updateTable();

expect(fetchDataSpy).toHaveBeenCalled();
});
});