package gov.samhsa.consent2share.service.spirit; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; import gov.samhsa.consent2share.hl7.dto.PixPatientDto; import gov.samhsa.spirit.wsclient.adapter.SpiritAdapter; import gov.samhsa.spirit.wsclient.dto.PatientDto; import java.util.Date; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; @RunWith(MockitoJUnitRunner.class) @SuppressWarnings("unchecked") public class SpiritQueryServiceImplTest { @Mock private SpiritAdapter spiritAdapter; @InjectMocks SpiritQueryServiceImpl sqt; @Test public void testTrasferDateType() { @SuppressWarnings("deprecation") Date date = new Date("Fri May 09 16:07:46 EDT 2014"); assertEquals("20140509", sqt.trasferDateType(date)); } @SuppressWarnings("deprecation") @Test public void testTransferPixPatientDtoToPatientDto() { PixPatientDto pixPatientDto = mock(PixPatientDto.class); when(pixPatientDto.getBirthTimeValue()).thenReturn("20140509"); when(pixPatientDto.getPatientFirstName()).thenReturn("Albert"); when(pixPatientDto.getPatientLastName()).thenReturn("Smith"); when(pixPatientDto.getAdministrativeGenderCode()).thenReturn("M"); PatientDto patientDto = sqt .transferPixPatientDtoToPatientDto(pixPatientDto); assertEquals("Albert", patientDto.getFirstName()); assertEquals("Smith", patientDto.getLastName()); assertEquals("M", patientDto.getGenderCode()); assertEquals("USA", patientDto.getCountry()); assertEquals("20140509", patientDto.getBirthDate()); } // TODO (SC): Re-enable the unit tests /* * @Test public void testGetHIEPatientIdbyPDQ() throws * SpiritAdapterException { * * PatientDto patientDto = mock(PatientDto.class); * * when(spiritAdapter.getPatientIdByPDQ(patientDto)).thenReturn( * "FAM.139938253593554"); * * assertEquals("FAM.139938253593554", * sqt.getHIEPatientIdbyPDQ(patientDto)); } */ /* * @Test public void testGetHIEPatientIdbyPDQ_throw_Exception() throws * SpiritAdapterException { * * PatientDto patientDto = mock(PatientDto.class); * * when(spiritAdapter.getPatientIdByPDQ(patientDto)).thenThrow( * SpiritAdapterException.class); * * assertEquals(null, sqt.getHIEPatientIdbyPDQ(patientDto)); } */ /* * @SuppressWarnings("deprecation") * * @Test public void testGetHIEPatientIdbySignupDto() throws * SpiritAdapterException, SpiritClientNotAvailableException { * * SpiritQueryServiceImpl sqtspy = spy(sqt); * * SignupDto signupDto = mock(SignupDto.class); * when(signupDto.getBirthDate()).thenReturn( new * Date("Fri May 09 16:07:46 EDT 2014")); * when(signupDto.getFirstName()).thenReturn("Albert"); * when(signupDto.getLastName()).thenReturn("Smith"); * when(signupDto.getGenderCode()).thenReturn("M"); * * when(spiritAdapter.getPatientIdByPDQ(any(PatientDto.class))) * .thenReturn("FAM.139938253593554"); * * assertEquals("FAM.139938253593554", * sqtspy.getHIEPatientIdbyPDQ(signupDto)); } */ /* * @SuppressWarnings("deprecation") * * @Test public void testGetHIEPatientIdbySignupDto_throw_exception() throws * SpiritAdapterException, SpiritClientNotAvailableException { * * SignupDto signupDto = mock(SignupDto.class); * when(signupDto.getBirthDate()).thenReturn( new * Date("Fri May 09 16:07:46 EDT 2014")); * when(signupDto.getFirstName()).thenReturn("Albert"); * when(signupDto.getLastName()).thenReturn("Smith"); * when(signupDto.getGenderCode()).thenReturn("M"); * when(signupDto.getEmail()).thenReturn("M"); * * when(spiritAdapter.getPatientIdByPDQ(any(PatientDto.class))).thenThrow( * SpiritAdapterException.class); * * } */ }