From e7b204b5de00d86084e4966ea5f3bc040672912a Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Thu, 24 Dec 2009 18:22:35 +0100 Subject: [PATCH] ItEr40S16CUImportacionOrganizacionsTraballoItEr39S17: Test for labels update. --- .../ws/orders/OrderElementServiceTest.java | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java index f8fd2a4d1..16660b193 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/test/ws/orders/OrderElementServiceTest.java @@ -22,12 +22,14 @@ package org.navalplanner.web.test.ws.orders; import static org.hamcrest.CoreMatchers.anyOf; import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; +import static org.junit.Assert.fail; import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE; import static org.navalplanner.web.WebappGlobalNames.WEBAPP_SPRING_CONFIG_FILE; -import static org.navalplanner.web.test.WebappGlobalNames.WEBAPP_SPRING_CONFIG_TEST_FILE; import static org.navalplanner.web.WebappGlobalNames.WEBAPP_SPRING_SECURITY_CONFIG_FILE; +import static org.navalplanner.web.test.WebappGlobalNames.WEBAPP_SPRING_CONFIG_TEST_FILE; import java.math.BigDecimal; import java.util.Date; @@ -40,9 +42,13 @@ import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.navalplanner.business.IDataBootstrap; +import org.navalplanner.business.common.exceptions.InstanceNotFoundException; +import org.navalplanner.business.labels.entities.Label; import org.navalplanner.business.orders.daos.IOrderDAO; import org.navalplanner.business.orders.daos.IOrderElementDAO; +import org.navalplanner.business.orders.entities.OrderElement; import org.navalplanner.ws.common.api.ConstraintViolationDTO; +import org.navalplanner.ws.common.api.IncompatibleTypeException; import org.navalplanner.ws.common.api.InstanceConstraintViolationsDTO; import org.navalplanner.ws.common.api.ResourceEnumDTO; import org.navalplanner.ws.orders.api.HoursGroupDTO; @@ -581,4 +587,46 @@ public class OrderElementServiceTest { assertThat(orderDAO.getOrders().size(), equalTo(previous)); } + @Test + public void updateLabels() throws InstanceNotFoundException, + IncompatibleTypeException { + String code = "order-code"; + try { + orderElementDAO.findUniqueByCode(code); + fail("Order with code " + code + " already exists"); + } catch (InstanceNotFoundException e) { + // It should throw an exception + } + + OrderDTO orderDTO = new OrderDTO(); + orderDTO.name = "Order name"; + orderDTO.code = code; + orderDTO.initDate = new Date(); + + LabelDTO labelDTO = new LabelDTO("Label name", "Label type"); + orderDTO.labels.add(labelDTO); + + List instanceConstraintViolationsList = orderElementService + .addOrder(orderDTO).instanceConstraintViolationsList; + assertThat(instanceConstraintViolationsList.size(), equalTo(0)); + + OrderElement orderElement = orderElementDAO.findUniqueByCode(code); + assertNotNull(orderElement); + assertThat(orderElement.getLabels().size(), equalTo(1)); + + LabelDTO labelDTO2 = new LabelDTO("Label name2", "Label type"); + orderDTO.labels.add(labelDTO2); + instanceConstraintViolationsList = orderElementService + .updateOrder(orderDTO).instanceConstraintViolationsList; + assertThat(instanceConstraintViolationsList.size(), equalTo(0)); + + orderElement = orderElementDAO.findUniqueByCode(code); + assertThat(orderElement.getLabels().size(), equalTo(2)); + for (Label label : orderElement.getLabels()) { + assertThat(label.getName(), anyOf(equalTo("Label name"), + equalTo("Label name2"))); + assertThat(label.getType().getName(), equalTo("Label type")); + } + } + } \ No newline at end of file