package oose.dea.controller;
import oose.dea.dataaccess.Item;
import oose.dea.services.ItemService;
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;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class ViewItemsPageControllerTest {
@Mock
ItemService itemService;
@Mock
HttpServletRequest httpServletRequest;
@Mock
HttpServletResponse httpServletResponse;
@Mock
RequestDispatcher requestDispatcher;
@InjectMocks
private ViewItemsPageController viewPageController;
private ArrayList<Item> items;
@Before
public void setup()
{
items = new ArrayList<Item>() {{
add(new Item("frik", "Vette hap", "Frikandel"));
}};
when(itemService.findAll()).thenReturn(items);
when(httpServletRequest.getRequestDispatcher("viewItems.jsp")).thenReturn(requestDispatcher);
}
@Test
public void doGet() throws Exception {
viewPageController.doGet(httpServletRequest, httpServletResponse);
verify(httpServletRequest).setAttribute("all", items);
verify(requestDispatcher).forward(httpServletRequest, httpServletResponse);
}
}