package no.dusken.aranea.web.control; import no.dusken.aranea.model.Image; import no.dusken.aranea.service.ImageService; import no.dusken.common.exception.PageNotFoundException; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.web.servlet.ModelAndView; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; /** * @author Marvin B. Lillehaug <lillehau@underdusken.no> */ public class PicureControllerTest { private ImageService imageService; private PictureController picureController; @Before public void setUp(){ picureController = new PictureController(); imageService = mock(ImageService.class); picureController.setImageService(imageService); } @Test(expected = PageNotFoundException.class) public void throwPageNotFoundWhenImageDoesntExist() throws PageNotFoundException { Mockito.when(imageService.getEntity(0L)).thenReturn(null); MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.addParameter("ID", "42"); ModelAndView mav = picureController.handleRequestInternal(request, response); assertNotNull(mav); assertTrue(!mav.getModel().isEmpty()); } @Test public void imageExistTest() throws PageNotFoundException { Image img = new Image(); Mockito.when(imageService.getEntity(42L)).thenReturn(img); MockHttpServletRequest request = new MockHttpServletRequest(); MockHttpServletResponse response = new MockHttpServletResponse(); request.addParameter("ID", "42"); ModelAndView mav = picureController.handleRequestInternal(request, response); assertNotNull(mav); assertTrue(!mav.getModel().isEmpty()); } }