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

package gov.va.med.ars.integration;

import static org.junit.Assert.assertFalse;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;

import gov.va.med.ars.configuration.AppConfig;
import gov.va.med.ars.configuration.spring.SpringMvcConfig;
import gov.va.med.ars.model.response.Rfai277SubmissionResponse;
import gov.va.med.ars.model.response.RfaiAttachmentResponse;
import gov.va.med.ars.model.response.RfaiRelatedItemResponse;

@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@TestPropertySource(properties = {"arsPropFileLocation = ./src/test/resources/development.properties"})
@ContextConfiguration(classes = { AppConfig.class, SpringMvcConfig.class })
public class RfaiViewSubmissionIntegrationTest {

private static final Logger logger = LogManager.getLogger(RfaiRequestSubmitIntegrationTest.class);

@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;

@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}


@Test
public void testGetRfaiSubmissionResults_success() throws Exception {
Rfai277SubmissionResponse rfai277SubmissionResponse = new Rfai277SubmissionResponse();
rfai277SubmissionResponse.setClaimId(new BigInteger("1624"));
rfai277SubmissionResponse.setRfaiStatus("rfai status");
rfai277SubmissionResponse.setRfaiSubmissionDate("12/12/2017");
rfai277SubmissionResponse.setPayerName("payer name");
rfai277SubmissionResponse.setPayerId("1111");
rfai277SubmissionResponse.setInformationReceiver("info receiver");
rfai277SubmissionResponse.setResponseDate("12/12/2017");
rfai277SubmissionResponse.setBillingProvider("billing provider");
rfai277SubmissionResponse.setProviderNpi("provider npi");
rfai277SubmissionResponse.setProviderTin("provider tin");
rfai277SubmissionResponse.setPatientLastname("last name");
rfai277SubmissionResponse.setPatientFirstName("first name");
rfai277SubmissionResponse.setPatientIdentifier("22");
rfai277SubmissionResponse.setPatientcontrolNumber("44");
rfai277SubmissionResponse.setPayerClaimControlNumber("66");
rfai277SubmissionResponse.setBillType("bill type");
rfai277SubmissionResponse.setClearingHouseId("88");
rfai277SubmissionResponse.setMedicalRecordNumber("100");

List<RfaiRelatedItemResponse> rfaiRelatedItemResponses = new ArrayList<RfaiRelatedItemResponse>();
RfaiRelatedItemResponse relatedItemResponse = new RfaiRelatedItemResponse();
relatedItemResponse.setSubmissionId(new BigInteger("59"));
relatedItemResponse.setClaimId(new BigInteger("2"));
relatedItemResponse.setEndDate("12/11/2017");
relatedItemResponse.setMedicalRecordNumber("123");
relatedItemResponse.setPatientControlNumber("999");
relatedItemResponse.setPatientName("Last Name");
rfaiRelatedItemResponses.add(relatedItemResponse);

List<RfaiAttachmentResponse> rfaiAttachmentResponses = new ArrayList<RfaiAttachmentResponse>();
RfaiAttachmentResponse attachmentResponse = new RfaiAttachmentResponse();
attachmentResponse.setClaimLevel("claim level");
/*
* attachmentResponse.setLoincCodes("11488-4");
* attachmentResponse.setLoincModCodes("11488-4");
* attachmentResponse.setStatusCode("R0");
*/
rfaiAttachmentResponses.add(attachmentResponse);

rfai277SubmissionResponse.setRfaiRelatedItemResponse(rfaiRelatedItemResponses);
rfai277SubmissionResponse.setRfaiAttachmentResponse(rfaiAttachmentResponses);

ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestJson = ow.writeValueAsString(rfai277SubmissionResponse);

ResultActions result = mockMvc
.perform(get("/api/v1/submission/{id}", (long) 1624).contentType(MediaType.APPLICATION_JSON)
.content(requestJson))
.andDo(print()).andExpect(status().is2xxSuccessful())
.andExpect(content().contentType("application/json;charset=UTF-8"));

logger.info("testGetRfaiSubmissionResults_success:" + result.andReturn().getResponse().getStatus());
assertFalse(HttpStatus.SERVICE_UNAVAILABLE.value() == result.andReturn().getResponse().getStatus());
}

}