package fr.mch.mdo.restaurant.business.managers.tables.orders; import java.math.BigDecimal; import java.util.Map; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import fr.mch.mdo.restaurant.dao.beans.DinnerTable; import fr.mch.mdo.restaurant.dao.beans.Locale; import fr.mch.mdo.restaurant.dao.beans.OrderLine; import fr.mch.mdo.restaurant.dao.beans.Restaurant; import fr.mch.mdo.restaurant.dao.beans.User; import fr.mch.mdo.restaurant.dao.beans.UserAuthentication; import fr.mch.mdo.restaurant.dto.beans.DinnerTableDtoBean; import fr.mch.mdo.restaurant.dto.beans.MdoUserContext; import fr.mch.mdo.restaurant.dto.beans.OrderLineDtoBean; public class DefaultTablesOrdersManagerTest extends TestCase { /** * Create the test case * * @param testName name of the test case */ public DefaultTablesOrdersManagerTest(String testName) { super(testName); } /** * @return the suite of tests being tested */ public static Test suite() { return new TestSuite(DefaultTablesOrdersManagerTest.class); } public void testGetInstance() { ITablesOrdersManager manager = DefaultTablesOrdersManager.getInstance(); assertTrue(manager instanceof DefaultTablesOrdersManager); } public void testLookupTablesNamesByPrefix() { ITablesOrdersManager manager = DefaultTablesOrdersManager.getInstance(); UserAuthentication userAuthentication = new UserAuthentication(); User user = new User(); user.setId(new Long(1)); userAuthentication.setUser(user); MdoUserContext userContext = new MdoUserContext(null, userAuthentication); try { Map<Long, String> map = manager.lookupTablesNamesByPrefix(userContext, "E"); System.out.println(map.isEmpty()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void testGetCustomersNumberByTableNumber() { } public void testGetTableByTableNumber() { } public void testLookupProductsCodesByPrefix() { } public void testSaveOrderLine() { ITablesOrdersManager manager = DefaultTablesOrdersManager.getInstance(); UserAuthentication userAuthentication = new UserAuthentication(); userAuthentication.setId(new Long(2)); User user = new User(); user.setId(new Long(2)); userAuthentication.setUser(user); Restaurant restaurant = new Restaurant(); restaurant.setId(new Long(2)); userAuthentication.setRestaurant(restaurant); MdoUserContext userContext = new MdoUserContext(null, userAuthentication); DinnerTableDtoBean table = new DinnerTableDtoBean(); table.setTableNumber("1"); table.setCustomersNumber(2); table.setTakeaway(Boolean.FALSE); userContext.setCurrentTable(table); Locale locale = new Locale(); //French locale locale.setId(new Long(1)); userContext.setCurrentLocale(locale); try { OrderLineDtoBean orderLine = new OrderLineDtoBean(); //First order line with code assertNull(orderLine.getAmount()); //Second order line orderLine = new OrderLineDtoBean(); orderLine.setQuantity(new BigDecimal(1.1)); orderLine.setCode("11"); manager.processOrderLine(userContext, orderLine); //Re-send the Second with another quantity orderLine.setQuantity(orderLine.getQuantity().multiply(new BigDecimal(3))); manager.processOrderLine(userContext, orderLine); //Re-send the Second with another code and another non null unit price orderLine.setCode("/11"); orderLine.setUnitPrice(new BigDecimal(12.3)); manager.processOrderLine(userContext, orderLine); System.out.println(orderLine.getLabel()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }