package gov.samhsa.consent2share.showcase.web;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.when;
import static org.mockito.Mockito.mock;
import gov.samhsa.consent2share.c32.C32ParserException;
import gov.samhsa.consent2share.hl7.Hl7v3TransformerException;
import gov.samhsa.consent2share.pixclient.util.PixManagerBean;
import gov.samhsa.consent2share.showcase.service.PixManagerTransformService;
import gov.samhsa.consent2share.showcase.service.PixOperationsService;
import org.junit.Before;
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 PixMgrControllerTest {
@InjectMocks
PixMgrController sut;
@Mock
PixOperationsService pixOperationsServiceMock;
@Mock
PixManagerTransformService pixManagerTransformServiceMock;
@Before
public void before() {
sut.setPixManagerTransformService(pixManagerTransformServiceMock);
sut.setPixOperationsService(pixOperationsServiceMock);
}
@Test
public void testTransformC32ToPixAdd() throws Hl7v3TransformerException, C32ParserException {
//Arrange
String c32XmlMock = "c32XmlMock";
String pixAddXmlMock = "pixAddXmlMock";
//Act
when(pixManagerTransformServiceMock.getPixAddXml(c32XmlMock)).thenReturn(pixAddXmlMock);
String actualRet = sut.transformC32ToPixAdd(c32XmlMock);
//Assert
assertEquals(pixAddXmlMock, actualRet);
}
@Test
public void testTransformC32ToPixUpdate() throws Hl7v3TransformerException, C32ParserException {
//Arrange
String c32XmlMock = "c32XmlMock";
String pixUpdateXML = "pixUpdateXML";
//Act
when(pixManagerTransformServiceMock.getPixUpdateXml(c32XmlMock)).thenReturn(pixUpdateXML);
String actualRet = sut.transformC32ToPixUpdate(c32XmlMock);
//Assert
assertEquals(pixUpdateXML, actualRet);
}
@Test
public void testTransformC32ToPixQuery() throws Hl7v3TransformerException, C32ParserException {
//Arrange
String c32XmlMock = "c32XmlMock";
String pixQueryXML = "pixQueryXML";
//Act
when(pixManagerTransformServiceMock.getPixQueryXml(c32XmlMock)).thenReturn(pixQueryXML);
String actualRet = sut.transformC32ToPixQuery(c32XmlMock);
//Assert
assertEquals(pixQueryXML, actualRet);
}
@Test
public void testReqToPixAdd() throws C32ParserException, Hl7v3TransformerException {
//Arrange
String c32XmlMock = "c32XmlMock";
String hl7v3XmlMock = "hl7v3XmlMock";
String pixAddMessageMock = "pixAddMessageMock";
//Act
when(pixManagerTransformServiceMock.getPixAddXml(c32XmlMock)).thenReturn(hl7v3XmlMock);
when(pixOperationsServiceMock.addPerson(hl7v3XmlMock)).thenReturn(pixAddMessageMock);
String actualRet = sut.reqToPixAdd(c32XmlMock);
//Assert
assertEquals(pixAddMessageMock, actualRet);
}
@Test
public void testReqToPixUpdate() throws C32ParserException, Hl7v3TransformerException {
//Arrange
String c32XmlMock = "c32XmlMock";
String hl7v3XmlMock = "hl7v3XmlMock";
String pixUpdateMessageMock = "pixUpdateMessageMock";
//Act
when(pixManagerTransformServiceMock.getPixUpdateXml(c32XmlMock)).thenReturn(hl7v3XmlMock);
when(pixOperationsServiceMock.updatePerson(hl7v3XmlMock)).thenReturn(pixUpdateMessageMock);
String actualRet = sut.reqToPixUpdate(c32XmlMock);
//Assert
assertEquals(pixUpdateMessageMock, actualRet);
}
@Test
public void testReqToPixQuery() throws C32ParserException, Hl7v3TransformerException {
//Arrange
String c32XmlMock = "c32XmlMock";
String hl7v3XmlMock = "hl7v3XmlMock";
PixManagerBean pixManagerBeanMock = mock(PixManagerBean.class);
//Act
when(pixManagerTransformServiceMock.getPixQueryXml(c32XmlMock)).thenReturn(hl7v3XmlMock);
when(pixOperationsServiceMock.queryPerson(hl7v3XmlMock)).thenReturn(pixManagerBeanMock);
PixManagerBean actualObj = sut.reqToPixQuery(c32XmlMock);
//Assert
assertEquals(pixManagerBeanMock, actualObj);
}
}