@Test public void shouldCalculatePacksToShip() throws Exception { RnrLineItem fullSupply = spy(make(a(defaultRnrLineItem, with(packRoundingThreshold, 6), with(quantityApproved, 66), with(packSize, 10)))); RnrLineItem nonFullSupply = spy(make(a(defaultRnrLineItem, with(packRoundingThreshold, 6), with(quantityApproved, 66), with(packSize, 10)))); rnr.setFullSupplyLineItems(asList(fullSupply)); rnr.setNonFullSupplyLineItems(asList(nonFullSupply)); rnr.calculateForApproval(); verify(fullSupply).calculatePacksToShip(); verify(nonFullSupply).calculatePacksToShip(); assertThat(rnr.getFullSupplyItemsSubmittedCost(), is(new Money("28"))); assertThat(rnr.getNonFullSupplyItemsSubmittedCost(), is(new Money("28"))); }
public void calculateForApproval() { for (RnrLineItem lineItem : fullSupplyLineItems) { lineItem.calculatePacksToShip(); } for (RnrLineItem lineItem : nonFullSupplyLineItems) { lineItem.calculatePacksToShip(); } this.fullSupplyItemsSubmittedCost = calculateCost(fullSupplyLineItems); this.nonFullSupplyItemsSubmittedCost = calculateCost(nonFullSupplyLineItems); }
Rnr extends BaseModel { public void calculateForApproval() { for (RnrLineItem lineItem : fullSupplyLineItems) { lineItem.calculatePacksToShip(); } for (RnrLineItem lineItem : nonFullSupplyLineItems) { lineItem.calculatePacksToShip(); } this.fullSupplyItemsSubmittedCost = calculateCost(fullSupplyLineItems); this.nonFullSupplyItemsSubmittedCost = calculateCost(nonFullSupplyLineItems); } }
Rnr extends BaseModel { public void calculateForApproval() { for (RnrLineItem lineItem : fullSupplyLineItems) { lineItem.calculatePacksToShip(); } for (RnrLineItem lineItem : nonFullSupplyLineItems) { lineItem.calculatePacksToShip(); } this.fullSupplyItemsSubmittedCost = calculateCost(fullSupplyLineItems); this.nonFullSupplyItemsSubmittedCost = calculateCost(nonFullSupplyLineItems); } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); }
Rnr extends BaseModel { public void calculateForApproval() { for (RnrLineItem lineItem : fullSupplyLineItems) { lineItem.calculatePacksToShip(); } for (RnrLineItem lineItem : nonFullSupplyLineItems) { lineItem.calculatePacksToShip(); } this.fullSupplyItemsSubmittedCost = calculateCost(fullSupplyLineItems); this.nonFullSupplyItemsSubmittedCost = calculateCost(nonFullSupplyLineItems); } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); void add(RnrLineItem rnrLineItem, Boolean fullSupply); void calculateForApproval(); void fillLineItems(List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts); void setFieldsForApproval(); List<RnrLineItem> getAllLineItems(); void fillBasicInformation(Facility facility, Program program, ProcessingPeriod period); RnrLineItem findCorrespondingLineItem(final RnrLineItem item); RegimenLineItem findCorrespondingRegimenLineItem(final RegimenLineItem regimenLineItem); void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate); void convertToOrder(Long userId); void fillFullSupplyCost(); void fillNonFullSupplyCost(); void validateForApproval(); void copyCreatorEditableFields(Rnr rnr, ProgramRnrTemplate rnrTemplate, RegimenTemplate regimenTemplate, List<ProgramProduct> programProducts); void copyApproverEditableFields(Rnr rnr, ProgramRnrTemplate template); void setAuditFieldsForRequisition(Long modifiedBy, RnrStatus status); void prepareForFinalApproval(); void approveAndAssignToNextSupervisoryNode(SupervisoryNode parent); boolean isApprovable(); boolean preAuthorize(); void addToNonFullSupplyCost(Money cost); void addToFullSupplyCost(Money cost); boolean isForVirtualFacility(); List<RnrLineItem> getNonSkippedLineItems(); void validateRegimenLineItems(RegimenTemplate regimenTemplate); @JsonIgnore boolean isBudgetingApplicable(); }
Rnr extends BaseModel { public void calculateForApproval() { for (RnrLineItem lineItem : fullSupplyLineItems) { lineItem.calculatePacksToShip(); } for (RnrLineItem lineItem : nonFullSupplyLineItems) { lineItem.calculatePacksToShip(); } this.fullSupplyItemsSubmittedCost = calculateCost(fullSupplyLineItems); this.nonFullSupplyItemsSubmittedCost = calculateCost(nonFullSupplyLineItems); } Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, Long modifiedBy, Long createdBy);  Rnr(Facility facility, Program program, ProcessingPeriod period, Boolean emergency, List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts,
             List<Regimen> regimens, Long modifiedBy);  Rnr(Facility facility, Program program, ProcessingPeriod period);  Rnr(Long id); void add(RnrLineItem rnrLineItem, Boolean fullSupply); void calculateForApproval(); void fillLineItems(List<FacilityTypeApprovedProduct> facilityTypeApprovedProducts); void setFieldsForApproval(); List<RnrLineItem> getAllLineItems(); void fillBasicInformation(Facility facility, Program program, ProcessingPeriod period); RnrLineItem findCorrespondingLineItem(final RnrLineItem item); RegimenLineItem findCorrespondingRegimenLineItem(final RegimenLineItem regimenLineItem); void setFieldsAccordingToTemplateFrom(Rnr previousRequisition, ProgramRnrTemplate template, RegimenTemplate regimenTemplate); void convertToOrder(Long userId); void fillFullSupplyCost(); void fillNonFullSupplyCost(); void validateForApproval(); void copyCreatorEditableFields(Rnr rnr, ProgramRnrTemplate rnrTemplate, RegimenTemplate regimenTemplate, List<ProgramProduct> programProducts); void copyApproverEditableFields(Rnr rnr, ProgramRnrTemplate template); void setAuditFieldsForRequisition(Long modifiedBy, RnrStatus status); void prepareForFinalApproval(); void approveAndAssignToNextSupervisoryNode(SupervisoryNode parent); boolean isApprovable(); boolean preAuthorize(); void addToNonFullSupplyCost(Money cost); void addToFullSupplyCost(Money cost); boolean isForVirtualFacility(); List<RnrLineItem> getNonSkippedLineItems(); void validateRegimenLineItems(RegimenTemplate regimenTemplate); @JsonIgnore boolean isBudgetingApplicable(); static final String RNR_VALIDATION_ERROR; }