From c7521e8c9a6364142eb766e9e782873bcd18b05b Mon Sep 17 00:00:00 2001 From: Manuel Rego Casasnovas Date: Fri, 6 May 2011 10:46:27 +0200 Subject: [PATCH] Added test to check CHILDREN advance marked as spread by default and fixed issues. FEA: ItEr74S07WBSTreeRefactoring --- .../orders/entities/OrderElement.java | 6 ++++- .../web/orders/OrderElementTreeModelTest.java | 27 +++++++++++++++++-- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java index 0a65a668a..83550baef 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/orders/entities/OrderElement.java @@ -620,13 +620,17 @@ public abstract class OrderElement extends IntegrationEntity implements checkChildrenNoOtherAssignmentWithSameAdvanceType(this, newAdvanceAssignment); + if (getReportGlobalAdvanceAssignment() == null) { + newAdvanceAssignment.setReportGlobalAdvance(true); + } + newAdvanceAssignment.setOrderElement(this); this.directAdvanceAssignments.add(newAdvanceAssignment); if (this.getParent() != null) { + addChildrenAdvanceInParents(this.getParent()); this.getParent().addIndirectAdvanceAssignment( newAdvanceAssignment.createIndirectAdvanceFor(this.getParent())); - addChildrenAdvanceInParents(this.getParent()); } } diff --git a/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderElementTreeModelTest.java b/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderElementTreeModelTest.java index bbe4875cf..be48a1423 100644 --- a/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderElementTreeModelTest.java +++ b/navalplanner-webapp/src/test/java/org/navalplanner/web/orders/OrderElementTreeModelTest.java @@ -1959,8 +1959,8 @@ public class OrderElementTreeModelTest { assertThat(order.getIndirectAdvanceAssignments().size(), equalTo(3)); assertNotNull(order.getIndirectAdvanceAssignment(advanceType)); assertNotNull(order.getIndirectAdvanceAssignment(advanceType2)); - assertThat(order.getReportGlobalAdvanceAssignment().getAdvanceType(), - equalTo(advanceType)); + assertNotNull(order.getReportGlobalAdvanceAssignment()); + assertTrue(order.getChildrenAdvance().getReportGlobalAdvance()); model.removeNode(element); @@ -1974,4 +1974,27 @@ public class OrderElementTreeModelTest { assertNotNull(element2.getDirectAdvanceAssignmentByType(advanceType2)); } + @Test + public void checkChildrenAdvanceIsCreatedAndMarkedAsSpreadInOrder() + throws DuplicateValueTrueReportGlobalAdvanceException, + DuplicateAdvanceAssignmentForOrderElementException { + model.addElement("element", 100); + + OrderLine element = (OrderLine) order.getChildren().get(0); + + addDirectAdvanceAssignment(element); + + assertThat(order.getIndirectAdvanceAssignments().size(), equalTo(2)); + assertNotNull(order.getAdvanceAssignmentByType(advanceType)); + assertNotNull(order.getChildrenAdvance()); + assertNotNull(order.getReportGlobalAdvanceAssignment()); + assertTrue(order.getChildrenAdvance().getReportGlobalAdvance()); + + assertThat(element.getDirectAdvanceAssignments().size(), equalTo(1)); + assertNotNull(element.getAdvanceAssignmentByType(advanceType)); + assertNotNull(element.getReportGlobalAdvanceAssignment()); + assertTrue(element.getAdvanceAssignmentByType(advanceType) + .getReportGlobalAdvance()); + } + }