Summary Table

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

File Content

package gov.va.vamf.scheduling.varutility.service;


import gov.va.vamf.scheduling.varutility.datalayer.RequestEligibilityCriteriaRepository;
import gov.va.vamf.scheduling.varutility.domain.*;
import gov.va.vamf.scheduling.varutility.utils.SpringBasedIntegrationRepo;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;

import javax.ws.rs.core.UriInfo;
import java.net.URI;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static org.junit.Assert.assertEquals;

public class RequestEligibilityCriteriaServiceTest extends SpringBasedIntegrationRepo {

@Autowired
RequestEligibilityCriteriaService requestEligibilityCriteriaService;

@Autowired
RequestEligibilityCriteriaRepository requestEligibilityCriteriaRepository;

UriInfo uriInfo;

@Before
public void setup() {
RequestEligibilityCriteria requestEligibilityCriteria = new RequestEligibilityCriteria();
CoreSettings cs = new CoreSettings();
CoreSetting c = new CoreSetting();
c.setId("323");
c.setTypeOfCare("Test Primary Care");
c.setPatientHistoryRequired("yes");
c.setPatientHistoryDuration(720);
c.setSubmittedRequestLimit(1);
cs.add(c);
requestEligibilityCriteria.setId("1");
requestEligibilityCriteria.setRequestSettings(cs);
requestEligibilityCriteriaService.saveRequestEligibilityCriteria(requestEligibilityCriteria);
uriInfo = Mockito.mock(UriInfo.class);
Mockito.when(uriInfo.getRequestUri())
.thenReturn(URI.create("http://localhost:
PORT /test"));
}

@After
public void tearDown() {
requestEligibilityCriteriaRepository.deleteAll();
}

//@Test
public void testCreateRequestEligibilityCriteria() {
RequestEligibilityCriteria requestEligibilityCriteria = requestEligibilityCriteriaService.fetchRequestEligibiltyCriteria("123", createClinicalServices(), createClinicalServicesForCustomRequest(), uriInfo);
TestCase.assertNotNull(requestEligibilityCriteria);
assertEquals(2, requestEligibilityCriteria.getRequestSettings().size());
}

@Test
public void testUpdateCriteriaCoreSettingsWillAddCoreSetting() {
RequestEligibilityCriteria requestEligibilityCriteria = requestEligibilityCriteriaRepository.findById("1");
TestCase.assertNotNull(requestEligibilityCriteria);
assertEquals(1, requestEligibilityCriteria.getRequestSettings().size());
requestEligibilityCriteria = requestEligibilityCriteriaService.fetchRequestEligibiltyCriteria("1", createClinicalServices(), createClinicalServicesForCustomRequest(), uriInfo);
TestCase.assertNotNull(requestEligibilityCriteria);
assertEquals(2, requestEligibilityCriteria.getRequestSettings().size());
}

@Test
public void testUpdateCriteriaCoreSettingsWillAddRemoveCoreSetting() {
RequestEligibilityCriteria requestEligibilityCriteria = requestEligibilityCriteriaRepository.findById("1");
TestCase.assertNotNull(requestEligibilityCriteria);
CoreSettings coreSettings = requestEligibilityCriteria.getRequestSettings();
assertEquals(1, coreSettings.size());
CoreSetting coreSetting = coreSettings.get(0);
assertEquals("Test Primary Care", coreSetting.getTypeOfCare());
List<ClinicalServices> clinicalServicesList = createUpdatedClinicalServices();
requestEligibilityCriteria = requestEligibilityCriteriaService.fetchRequestEligibiltyCriteria("1", clinicalServicesList, createClinicalServicesForCustomRequest(), uriInfo);
TestCase.assertNotNull(requestEligibilityCriteria);
coreSettings = requestEligibilityCriteria.getRequestSettings();
assertEquals(1, coreSettings.size());
coreSetting = coreSettings.get(0);
assertEquals("Test Radiology", coreSetting.getTypeOfCare());
}

@Test
public void testUpdateCriteriaCoreSettingsWillChangeCoreSettingName() {
RequestEligibilityCriteria requestEligibilityCriteria = requestEligibilityCriteriaRepository.findById("1");
TestCase.assertNotNull(requestEligibilityCriteria);
CoreSettings coreSettings = requestEligibilityCriteria.getRequestSettings();
assertEquals(1, coreSettings.size());
CoreSetting coreSetting = coreSettings.get(0);
assertEquals("Test Primary Care", coreSetting.getTypeOfCare());
List<ClinicalServices> clinicalServicesList = createUpdatedPrimaryCareClinicalServices();
requestEligibilityCriteria = requestEligibilityCriteriaService.fetchRequestEligibiltyCriteria("1", clinicalServicesList, createClinicalServicesForCustomRequest(), uriInfo);
TestCase.assertNotNull(requestEligibilityCriteria);
coreSettings = requestEligibilityCriteria.getRequestSettings();
assertEquals(1, coreSettings.size());
coreSetting = coreSettings.get(0);
assertEquals("Test Primary Care Updated", coreSetting.getTypeOfCare());

}

private List<ClinicalServices> createClinicalServices() {
List<ClinicalServices> clinicalServicesList = new ArrayList<ClinicalServices>();
ClinicalServices cs1 = new ClinicalServices();
cs1.setId("323");
cs1.setName("Test Primary Care");
cs1.setSubmittedRequestLimit(2);
cs1.setCreatedBy("Test User");
cs1.setCreatedDate(new Date());
StopCodes stopCodes = new StopCodes();
StopCode sc1 = new StopCode();
sc1.setPrimary("350");
StopCode sc2 = new StopCode();
sc2.setPrimary("323");
StopCode sc3 = new StopCode();
sc3.setPrimary("322");
stopCodes.add(sc1);
stopCodes.add(sc2);
stopCodes.add(sc3);
cs1.setStopCodes(stopCodes);

ClinicalServices cs2 = new ClinicalServices();
cs2.setId("150");
cs2.setName("Test Radiology");
cs2.setCreatedBy("Test User");
cs2.setCreatedDate(new Date());
cs2.setSubmittedRequestLimit(3);
StopCodes stopCodes1 = new StopCodes();
StopCode sc4 = new StopCode();
sc4.setPrimary("222");
sc4.setSecondary("333");

stopCodes1.add(sc4);
cs2.setStopCodes(stopCodes1);

clinicalServicesList.add(cs1);
clinicalServicesList.add(cs2);
return clinicalServicesList;
}

private List<ClinicalServices> createUpdatedClinicalServices() {
List<ClinicalServices> clinicalServicesList = new ArrayList<ClinicalServices>();
ClinicalServices cs = new ClinicalServices();
cs.setId("150");
cs.setName("Test Radiology");
cs.setCreatedBy("Test User");
cs.setCreatedDate(new Date());
StopCodes stopCodes = new StopCodes();
StopCode sc = new StopCode();
sc.setPrimary("222");
sc.setSecondary("333");

stopCodes.add(sc);
cs.setStopCodes(stopCodes);

clinicalServicesList.add(cs);
clinicalServicesList.add(cs);
return clinicalServicesList;
}

private List<ClinicalServices> createUpdatedPrimaryCareClinicalServices() {
List<ClinicalServices> clinicalServicesList = new ArrayList<ClinicalServices>();
ClinicalServices cs = new ClinicalServices();
cs.setId("323");
cs.setName("Test Primary Care Updated");
cs.setCreatedBy("Test User");
cs.setCreatedDate(new Date());
StopCodes stopCodes = new StopCodes();
StopCode sc = new StopCode();
sc.setPrimary("350");
StopCode sc2 = new StopCode();
sc2.setPrimary("323");
StopCode sc3 = new StopCode();
sc3.setPrimary("322");
stopCodes.add(sc);
stopCodes.add(sc2);
stopCodes.add(sc3);
cs.setStopCodes(stopCodes);
clinicalServicesList.add(cs);
return clinicalServicesList;
}

private List<ClinicalServices> createClinicalServicesForCustomRequest() {
List<ClinicalServices> clinicalServicesList = new ArrayList<ClinicalServices>();
ClinicalServices cs = new ClinicalServices();
cs.setId("CR1");
cs.setName("Express Care");
cs.setCreatedBy("Test User");
cs.setCreatedDate(new Date());
cs.setSubmittedRequestLimit(1);
StopCodes stopCodes = new StopCodes();
cs.setStopCodes(stopCodes);
clinicalServicesList.add(cs);
return clinicalServicesList;
}
}