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.service.impl;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.when;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import gov.va.med.ars.dao.ars.IPayerInfoRepository;
import gov.va.med.ars.model.request.PayerInfoListRequest;
import gov.va.med.ars.model.request.PayerInfoRequest;
import gov.va.med.ars.model.response.PayerInfoResponse;
import gov.va.med.domain.ars.PayerConfig;

@RunWith(MockitoJUnitRunner.class)
public class PayerInfoServiceImplTest {

private static final Logger logger = LogManager.getLogger(PayerInfoServiceImplTest.class);
DateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy");

@InjectMocks
PayerInfoServiceImpl payerInfoService;

@Mock
IPayerInfoRepository payerInfoRepo;

@Test
public void testMockIsWorking() {
assertNotNull("Payerinfo service Injection Failed", payerInfoService);
}

@Test
public void getActivePayerInfo() throws Exception {

List<PayerConfig> payerInfoList = new ArrayList<>();
PayerConfig payerConfig = new PayerConfig();
payerConfig.setIsarchive('N');
payerConfig.setPayerIdentifier("34133-9");
payerConfig.setPayerIdentifierDesc("Continuity of Care Document");
payerConfig.setPayerIndex((long) 1);

payerInfoList.add(payerConfig);

when(payerInfoRepo.findByIsarchive('N')).thenReturn(payerInfoList);
logger.info("payerinfo" + payerInfoList);

List<PayerInfoResponse> responsFromSvc = payerInfoService.getActivePayerInfo();

assertEquals("34133-9", responsFromSvc.get(0).getPayerIdentifier());
assertEquals(false, responsFromSvc.get(0).getIsArchived());

}

@Test
public void getAllPayerInfo() throws Exception {

List<PayerConfig> payerInfoList = new ArrayList<>();
PayerConfig payerConfig1 = new PayerConfig();
payerConfig1.setIsarchive('Y');
payerConfig1.setPayerIdentifier("12115");
payerConfig1.setPayerIdentifierDesc("payer id 1");
payerConfig1.setPayerIndex((long) 1);

PayerConfig payerConfig2 = new PayerConfig();
payerConfig2.setIsarchive('N');
payerConfig2.setPayerIdentifier("84146");
payerConfig2.setPayerIdentifierDesc("payer id 2");
payerConfig2.setPayerIndex((long) 2);

payerInfoList.add(payerConfig1);
payerInfoList.add(payerConfig2);

when(payerInfoRepo.findAll()).thenReturn(payerInfoList);

List<PayerInfoResponse> responseFromSvc = payerInfoService.getAllPayerInfo();

assertEquals(true, responseFromSvc.get(0).getIsArchived());
assertEquals(false, responseFromSvc.get(1).getIsArchived());

}

@Test
public void test_checkSubmittedModificationsForDupes() throws Exception {

logger.info("test_checkSubmittedModificationsForDupes");
PayerInfoRequest payerInfoRequest = new PayerInfoRequest();
payerInfoRequest.setPayerIdentifier("34133-9");
payerInfoRequest.setPayerIdentifierDesc("Continuity of Care Document");
// payerInfoRequest.setPayerIndex(1l);
payerInfoRequest.setArchive(true);

List<PayerInfoRequest> payerInfoList = new ArrayList<>();
payerInfoList.add(payerInfoRequest);

PayerInfoListRequest payerInfoListRequest = new PayerInfoListRequest();
payerInfoListRequest.setPayerInfoList(payerInfoList);

List<PayerConfig> payerInfoListt = new ArrayList<>();
PayerConfig payerConfig = new PayerConfig();
payerConfig.setIsarchive('Y');
payerConfig.setPayerIdentifier("34133-9");
payerConfig.setPayerIdentifierDesc("Continuity of Care Document");
payerConfig.setPayerIndex((long) 1);

payerInfoListt.add(payerConfig);

List<PayerInfoResponse> payerInfoResponseList = new ArrayList<>();
PayerInfoResponse response = new PayerInfoResponse();
response.setPayerIndex(1l);
response.setPayerIdentifier("34133-9");
response.setPayerIdentifierDesc("Continuity of Care Document");
payerInfoResponseList.add(response);

List<String> errorList = new LinkedList<>();
errorList.add(String.format("Duplicate Found: %s of type Payer Info ", payerInfoRequest.getPayerIdentifier()));

when(payerInfoRepo.findBypayerIdentifier("34133-9")).thenReturn(payerConfig);
logger.info("payerinfo" + payerInfoList);
assertEquals(errorList.get(0),
payerInfoService.checkSubmittedModificationsForDupes(payerInfoListRequest).get(0));

}

@Test
public void test_addOrModifyPayerInfo() throws Exception {

PayerConfig payerInfoDb = new PayerConfig();
payerInfoDb.setIsarchive('Y');
payerInfoDb.setPayerIdentifier("34133-9");
payerInfoDb.setPayerIdentifierDesc("Continuity of Care Document");
payerInfoDb.setPayerIndex((long) 1);

PayerInfoRequest payerInfoRequest = new PayerInfoRequest();
payerInfoRequest.setPayerIdentifier("34133-9");
payerInfoRequest.setPayerIdentifierDesc("Continuity of Care Document");
payerInfoRequest.setPayerIndex("1");
payerInfoRequest.setArchive(true);

List<PayerInfoRequest> payerInfoList = new ArrayList<>();
payerInfoList.add(payerInfoRequest);

PayerInfoListRequest payerInfoListRequest = new PayerInfoListRequest();
payerInfoListRequest.setPayerInfoList(payerInfoList);

List<PayerInfoRequest> payerInfoListt = new ArrayList<>();
payerInfoListt.add(payerInfoRequest);

when(payerInfoRepo.findBypayerIndex(1l)).thenReturn(payerInfoDb);

PayerConfig payerInfo = new PayerConfig();
payerInfo.setPayerIdentifier("34133-9");
payerInfo.setPayerIdentifierDesc("Continuity of Care Document");
payerInfo.setDatemodified(new Date());
payerInfo.setIsarchive('Y');
payerInfo.setPayerIndex((long) 1);

when(payerInfoRepo.save(any(PayerConfig.class))).thenReturn(payerInfoDb);
assertEquals(true, payerInfoService.addOrModifyPayerInfo(payerInfoListRequest));

}
}