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));
}
}