Added test to check CHILDREN advance marked as spread by default and fixed issues.

FEA: ItEr74S07WBSTreeRefactoring
This commit is contained in:
Manuel Rego Casasnovas 2011-05-06 10:46:27 +02:00
parent 0059cccc0f
commit c7521e8c9a
2 changed files with 30 additions and 3 deletions

View file

@ -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());
}
}

View file

@ -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());
}
}