diff --git a/libreplan-business/src/test/java/org/libreplan/business/test/planner/entities/MoneyCostCalculatorTest.java b/libreplan-business/src/test/java/org/libreplan/business/test/planner/entities/MoneyCostCalculatorTest.java index 6f194706c..f0ef7e295 100644 --- a/libreplan-business/src/test/java/org/libreplan/business/test/planner/entities/MoneyCostCalculatorTest.java +++ b/libreplan-business/src/test/java/org/libreplan/business/test/planner/entities/MoneyCostCalculatorTest.java @@ -111,18 +111,20 @@ public class MoneyCostCalculatorTest { costCategoryDAO.save(costCategory); } - private void givenResource() { + private void givenResource(boolean relatedWithCostCategory) { resource = Worker.createUnvalidated("default-resource", "default-resource", "default-resource", "default-resource"); - ResourcesCostCategoryAssignment resourcesCostCategoryAssignment = ResourcesCostCategoryAssignment - .create(); - resourcesCostCategoryAssignment - .setCode("resources-cost-category-assignment"); - resourcesCostCategoryAssignment.setCostCategory(costCategory); - resourcesCostCategoryAssignment.setInitDate(new LocalDate()); + if (relatedWithCostCategory) { + ResourcesCostCategoryAssignment resourcesCostCategoryAssignment = ResourcesCostCategoryAssignment + .create(); + resourcesCostCategoryAssignment + .setCode("resources-cost-category-assignment"); + resourcesCostCategoryAssignment.setCostCategory(costCategory); + resourcesCostCategoryAssignment.setInitDate(new LocalDate()); - resource.addResourcesCostCategoryAssignment(resourcesCostCategoryAssignment); + resource.addResourcesCostCategoryAssignment(resourcesCostCategoryAssignment); + } resourceDAO.save(resource); } @@ -160,7 +162,15 @@ public class MoneyCostCalculatorTest { private void givenBasicExample() { givenTypeOfWorkHours(); givenCostCategory(); - givenResource(); + givenResource(true); + givenOrderElement(); + giveWorkReportType(); + givenWorkReport(); + } + + private void givenBasicExampleWithoutCostCategoryRelationship() { + givenTypeOfWorkHours(); + givenResource(false); givenOrderElement(); giveWorkReportType(); givenWorkReport(); @@ -173,4 +183,12 @@ public class MoneyCostCalculatorTest { equalTo(new BigDecimal(500).setScale(2))); } + @Test + public void basicTestWithoutCostCategoryRelationship() + throws InstanceNotFoundException { + givenBasicExampleWithoutCostCategoryRelationship(); + assertThat(moneyCostCalculator.getMoneyCost(orderElement), + equalTo(new BigDecimal(300).setScale(2))); + } + }