package au.org.aurin.wif.controller; import static java.util.Arrays.asList; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import au.org.aurin.wif.controller.suitability.SuitabilityScenarioController; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.suitability.SuitabilityScenario; import au.org.aurin.wif.svc.suitability.SuitabilityScenarioService; /** * The Class SuitabilityScenarioControllerTest. */ public class SuitabilityScenarioControllerTest { /** The allocation lu controller. */ private SuitabilityScenarioController suitabilityScenarioController; /** * Setup. */ @BeforeClass (enabled = false) public void setup() { suitabilityScenarioController = new SuitabilityScenarioController(); } /** * Creates the allocation lu. * * @throws Exception * the exception */ @Test (enabled = false) public void createSuitabilityScenario() throws Exception { SuitabilityScenarioService suitabilityScenarioService = mock(SuitabilityScenarioService.class); suitabilityScenarioController .setSuitabilityScenarioService(suitabilityScenarioService); SuitabilityScenario expectedSuitabilityScenario = new SuitabilityScenario(); expectedSuitabilityScenario.setId(9 + ""); SuitabilityScenario newSuitabilityScenario = new SuitabilityScenario(); when( suitabilityScenarioService.createSuitabilityScenario( newSuitabilityScenario, "theBestSuitabilityScenario")) .thenReturn(expectedSuitabilityScenario); HttpServletResponse response = mock(HttpServletResponse.class); SuitabilityScenario returnedSuitabilityScenario = suitabilityScenarioController .createSuitabilityScenario("aurin", "theBestSuitabilityScenario", newSuitabilityScenario, response); Assert.assertEquals(returnedSuitabilityScenario.getId().toString(), "9"); } /** * Delete allocation lu. * * @throws Exception * the exception */ @Test(enabled = false, expectedExceptions = { WifInvalidInputException.class }) public void deleteSuitabilityScenario() throws Exception { SuitabilityScenarioService suitabilityScenarioService = mock(SuitabilityScenarioService.class); when(suitabilityScenarioService.getSuitabilityScenario("8")).thenThrow( new WifInvalidInputException()); suitabilityScenarioController .setSuitabilityScenarioService(suitabilityScenarioService); suitabilityScenarioController.deleteSuitabilityScenario("aurin", "projectId", "8"); verify(suitabilityScenarioService).deleteSuitabilityScenario("8", "projectId"); suitabilityScenarioController.getSuitabilityScenario("aurin", "theBestSuitabilityScenario", "8"); } /** * Gets the allocation lu. * * @return the allocation lu * @throws Exception * the exception */ @Test (enabled = false) public void getSuitabilityScenario() throws Exception { SuitabilityScenario expectedSuitabilityScenario = new SuitabilityScenario(); expectedSuitabilityScenario.setLabel("theBestSuitabilityScenario"); SuitabilityScenarioService suitabilityScenarioService = mock(SuitabilityScenarioService.class); when(suitabilityScenarioService.getSuitabilityScenario("8")) .thenReturn(expectedSuitabilityScenario); suitabilityScenarioController .setSuitabilityScenarioService(suitabilityScenarioService); SuitabilityScenario suitabilityScenario = suitabilityScenarioController .getSuitabilityScenario("aurin", "projectId", "8"); Assert.assertEquals(suitabilityScenario.getLabel(), "theBestSuitabilityScenario"); } /** * Gets the allocation l us for project. * * @return the allocation l us for project * @throws Exception * the exception */ @Test (enabled = false) public void getSuitabilityScenariosForProject() throws Exception { List<SuitabilityScenario> expectedSuitabilityScenarios = asList( new SuitabilityScenario(), new SuitabilityScenario()); SuitabilityScenarioService suitabilityScenarioService = mock(SuitabilityScenarioService.class); when( suitabilityScenarioService .getSuitabilityScenarios("theBestSuitabilityScenario")) .thenReturn(expectedSuitabilityScenarios); suitabilityScenarioController .setSuitabilityScenarioService(suitabilityScenarioService); List<SuitabilityScenario> returnedSuitabilityScenarios = suitabilityScenarioController .getSuitabilityScenariosForProject("aurin", "theBestSuitabilityScenario"); Assert.assertEquals(returnedSuitabilityScenarios.size(), 2); } /** * Update allocation lu. * * @throws Exception * the exception */ @Test (enabled = false) public void updateSuitabilityScenario() throws Exception { SuitabilityScenarioService suitabilityScenarioService = mock(SuitabilityScenarioService.class); suitabilityScenarioController .setSuitabilityScenarioService(suitabilityScenarioService); SuitabilityScenario updateSuitabilityScenario = new SuitabilityScenario(); suitabilityScenarioController.updateSuitabilityScenario("aurin", "projectId", "8", updateSuitabilityScenario); verify(suitabilityScenarioService).updateSuitabilityScenario( updateSuitabilityScenario, "projectId"); } }