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 { RequestCodesComponent } from './request-codes.component';
import { FormBuilder, FormArray, FormGroup } from '@angular/forms';
import { CodeModel } from '../../rfai-admin/rfai-admin.model';
import { SimpleChanges } from '@angular/core';

describe('RequestCodesComponent', () => {
let fb: FormBuilder;
let component: RequestCodesComponent;
let changes: SimpleChanges;
beforeEach(() => {
fb = new FormBuilder();
component = new RequestCodesComponent(fb);
});

it('should create the component', () => {
expect(component).toBeTruthy();
});

it('should call ngOnInit()', () => {
spyOn(component, 'formInit');

component.ngOnInit();

expect(component.formInit).toHaveBeenCalledTimes(1);
});

it('should call formInit()', () => {
component.form = fb.group({});
component.formInit();
expect(component.form).toBeDefined();

component.codeList = fb.array([]);
component.formInit();
expect(component.codeList).toBeDefined();

component.formInit();
component.form
.get('codeList')
.get('0')
.get('healthCareClaimStatusCode')
.setValue('1');
component.form
.get('codeList')
.get('0')
.get('loincCode0')
.setValue('1');
component.form
.get('codeList')
.get('0')
.get('loincCodeModifier1')
.setValue('0');
component.form
.get('codeList')
.get('0')
.get('loincCodeModifier2')
.setValue('0');
component.form
.get('codeList')
.get('0')
.get('levelDropDown')
.setValue('0');
expect(component.form.valid).toBeTruthy();

expect(component.codeList).toBeDefined(component.form.get('codeList'));

component.formInit();
component.form
.get('codeList')
.get('0')
.get('healthCareClaimStatusCode')
.setValue('0'); // 0 is not valid
component.form
.get('codeList')
.get('0')
.get('loincCode0')
.setValue('1');
component.form
.get('codeList')
.get('0')
.get('loincCodeModifier1')
.setValue('0');
component.form
.get('codeList')
.get('0')
.get('loincCodeModifier2')
.setValue('0');
component.form
.get('codeList')
.get('0')
.get('levelDropDown')
.setValue('0');
expect(component.form.valid).toBeFalsy();
});
it('test addRow method', () => {
component.formInit();
expect(component.codeList.length).toEqual(1);
component.addRow();
expect(component.codeList.length).toEqual(2);
});

it('test removeRow method', () => {
component.formInit();
component.addRow();
const valLength = component.codeList.length;
expect(component.codeList.length).toEqual(2);
component.removeRow(1);
expect(component.codeList.length).toEqual(1);
});

it('test onResetForm method', () => {
spyOn(component, 'formInit');
component.onResetForm();
expect(component.formInit).toHaveBeenCalled();
});

it('test onChangeDropdown method', () => {
let eventTemp = {
target: {
value: '0'
}
};
component.onChangeDropdown(eventTemp);
expect(component.loincCodes).toBeDefined(component.loincCodesClaimLevel);

eventTemp = {
target: {
value: '1'
}
};
component.onChangeDropdown(eventTemp);
expect(component.loincCodes).toBeDefined(component.loincCodesLineLevel);
});
});