package gov.samhsa.consent2share.showcase.service; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; import gov.samhsa.consent2share.hl7.Hl7v3Transformer; import gov.samhsa.consent2share.hl7.Hl7v3TransformerException; import gov.samhsa.consent2share.showcase.infrastructure.PixOperation; 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) public class PixManagerTransformServiceImplTest { @InjectMocks PixManagerTransformServiceImpl sut; @Mock Hl7v3Transformer hl7v3TransformerMock; @Test public void testGetPixAddXml() throws Hl7v3TransformerException { // Arrange String pixAddMock = "pixAddMock"; String c32XmlMock = "c32XmlMock"; // Act when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_ADD)).thenReturn(pixAddMock); String actualRet = sut.getPixAddXml(c32XmlMock); // Assert assertEquals(pixAddMock, actualRet); } @Test public void testGetPixUpdateXml() throws Hl7v3TransformerException { // Arrange String pixUpdateMock = "pixUpdateMock"; String c32XmlMock = "c32XmlMock"; // Act when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_UPDATE)).thenReturn( pixUpdateMock); String actualRet = sut.getPixUpdateXml(c32XmlMock); // Assert assertEquals(pixUpdateMock, actualRet); } @Test public void testGetPixQueryXml() throws Hl7v3TransformerException { // Arrange String pixQueryMock = "pixQueryMock"; String c32XmlMock = "c32XmlMock"; // Act when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_QUERY)).thenReturn( pixQueryMock); String actualRet = sut.getPixQueryXml(c32XmlMock); // Assert assertEquals(pixQueryMock, actualRet); } @Test public void testGetPixXml() throws Hl7v3TransformerException { // Arrange String c32XmlMock = "c32XmlMock"; String pixAddXmlMock = "pixAddXmlMock"; String pixUpdateXmlMock = "pixUpdateXmlMock"; String pixQueryXmlMock = "pixQueryXmlMock"; String nullReturnMock = "nullReturnMock"; when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_ADD)).thenReturn( pixAddXmlMock); when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_UPDATE)).thenReturn( pixUpdateXmlMock); when( hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, Hl7v3Transformer.XSLT_C32_TO_PIX_QUERY)).thenReturn( pixQueryXmlMock); when(hl7v3TransformerMock.transformToHl7v3PixXml(c32XmlMock, null)) .thenReturn(nullReturnMock); // Act String addResponse = sut.getPixXml(PixOperation.ADD, c32XmlMock); String updateResponse = sut.getPixXml(PixOperation.UPDATE, c32XmlMock); String queryResponse = sut.getPixXml(PixOperation.QUERY, c32XmlMock); String nullResponse = sut.getPixXml(PixOperation.MERGE, c32XmlMock); // Assert assertEquals(pixAddXmlMock, addResponse); assertEquals(pixUpdateXmlMock, updateResponse); assertEquals(pixQueryXmlMock, queryResponse); assertEquals(nullReturnMock, nullResponse); } }