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());
}
}