package no.dusken.barweb.admin; import no.dusken.barweb.model.BarPerson; import no.dusken.barweb.model.Gjeng; import no.dusken.barweb.model.Vare; import no.dusken.barweb.service.BarPersonService; import no.dusken.barweb.service.GjengService; import no.dusken.barweb.service.TransaksjonService; import no.dusken.barweb.service.VareService; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.mock.web.MockHttpServletResponse; import org.springframework.web.servlet.ModelAndView; import java.util.Arrays; import java.util.List; import java.util.Map; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; /** * @author Marvin B. Lillehaug <lillehau@underdusken.no> */ @RunWith(MockitoJUnitRunner.class) public class RegisterTransactionControllerTest { private RegisterTransactionController controller; @Mock private GjengService gjengService; @Mock private VareService vareService; @Mock private BarPersonService barPersonService; @Mock private TransaksjonService transaksjonService; private MockHttpServletRequest request; private MockHttpServletResponse response; @Before public void setUp() throws Exception { controller = new RegisterTransactionController(); controller.setGjengService(gjengService); controller.setBarPersonService(barPersonService); controller.setVareService(vareService); controller.setTransaksjonService(transaksjonService); request = new MockHttpServletRequest("POST", "/"); response = new MockHttpServletResponse(); Vare v1 = new Vare(Vare.VareName.Beer, 10, 10, 1, true){ @Override public Long getId() { return 321L; } }; Vare v2 = new Vare(Vare.VareName.Soda, 10, 10, 1, true){ @Override public Long getId() { return 322L; } }; when(vareService.getByActiveTrueOrderByOrderingAsc()).thenReturn(Arrays.asList(v1, v2)); BarPerson barPerson = new BarPerson(); Gjeng gjeng = new Gjeng(); barPerson.setGjeng(gjeng); when(gjengService.getByDefaultGjengTrue()).thenReturn(gjeng); when(barPersonService.findOne(123L)).thenReturn(barPerson); } @Test public void testAddToTransaksjon () throws Exception { request.setParameter("save", "true"); request.setParameter("numberOfPersons", "1"); request.setParameter("IDPerson0", "123"); request.setParameter("p123v321", "2"); request.setParameter("preview", "true"); ModelAndView modelAndView = controller.handleRequestInternal(request, response); Map<String,Object> model = modelAndView.getModel(); Object transaksjoner = model.get("transaksjoner"); assertNotNull("No transactions", transaksjoner); assertEquals("Wrong size", 1, ((List) transaksjoner).size()); Object preview = model.get("preview"); assertNotNull("No preview", preview); assertTrue("No preview", (Boolean) preview); } }