Skip to content

Commit

Permalink
Merge branch 'master' into MODORDERS-1026
Browse files Browse the repository at this point in the history
  • Loading branch information
azizbekxm authored Mar 28, 2024
2 parents 9661f92 + b708d82 commit 17a3b29
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ private void updatePoLinePaymentStatus(CompositePoLine poLine, ReOpenCompositeOr
var poLineInvoiceLinesMap = holder.getOrderLineInvoiceLines().stream().collect(groupingBy(InvoiceLine::getPoLineId));

List<Invoice> poLineInvoices = poLineInvoicesMap.get(poLine.getId());
if (CollectionUtils.isNotEmpty(poLineInvoices) && isAnyInvoicesApprovedOrPaid(poLineInvoices)) {
if (CollectionUtils.isNotEmpty(poLineInvoices) && isAnyInvoicePaid(poLineInvoices)) {
var invoiceLines = poLineInvoiceLinesMap.get(poLine.getId());
if (isAnyInvoiceLineReleaseEncumbrance(invoiceLines)) {
poLine.setPaymentStatus(CompositePoLine.PaymentStatus.FULLY_PAID);
Expand All @@ -122,9 +122,8 @@ private boolean isAnyInvoiceLineReleaseEncumbrance(List<InvoiceLine> invoiceLine
return invoiceLines.stream().anyMatch(InvoiceLine::getReleaseEncumbrance);
}

private boolean isAnyInvoicesApprovedOrPaid(List<Invoice> poLineInvoices) {
return poLineInvoices.stream().anyMatch(invoice -> Invoice.Status.APPROVED.equals(invoice.getStatus()) ||
Invoice.Status.PAID.equals(invoice.getStatus()));
private boolean isAnyInvoicePaid(List<Invoice> poLineInvoices) {
return poLineInvoices.stream().anyMatch(invoice -> Invoice.Status.PAID.equals(invoice.getStatus()));
}

private void updatePoLineReceiptStatus(CompositePoLine poLine, ReOpenCompositeOrderHolder holder) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,10 @@ void resetMocks() {

@ParameterizedTest
@CsvSource(value = {"Open:Expected:Awaiting Receipt:Awaiting Payment",
"Approved:Received:Partially Received:Fully Paid",
"Approved:Received:Partially Received:Awaiting Payment",
"Paid:Received:Partially Received:Fully Paid"}, delimiter = ':')
void shouldCheckPaymentAndReceiptStatusesIfInvoicesAndPiecesHaveSameStatuses(
String invoiceStatus, String pieceStatus, String expReceiptStatus, String expPaymentStatus)
throws ExecutionException, InterruptedException {
String invoiceStatus, String pieceStatus, String expReceiptStatus, String expPaymentStatus) {
CompositePurchaseOrder oldOrder = getMockAsJson(ORDER_PATH).mapTo(CompositePurchaseOrder.class);
CompositePoLine poLine1 = oldOrder.getCompositePoLines().get(0);
String poLineId1 = poLine1.getId();
Expand Down Expand Up @@ -174,17 +173,16 @@ void shouldCheckPaymentAndReceiptStatusesIfInvoicesAndPiecesHaveSameStatuses(
}

@ParameterizedTest
@CsvSource(value = {"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Partially Paid:true:false",
"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Fully Paid:true:true",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Fully Paid:Awaiting Payment:true:true",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Fully Paid:Awaiting Payment:true:false",
@CsvSource(value = {"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Awaiting Payment:true:false",
"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Awaiting Payment:true:true",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Awaiting Payment:Awaiting Payment:true:true",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Awaiting Payment:Awaiting Payment:true:false",
"Paid:Open:Expected:Received:Awaiting Receipt:Partially Received:Fully Paid:Awaiting Payment:true:true",
"Paid:Open:Expected:Received:Awaiting Receipt:Partially Received:Partially Paid:Awaiting Payment:false:true"}, delimiter = ':')
void shouldCheckPaymentAndReceiptStatusesIfInvoicesAndPiecesHaveDifferentStatuses(
String invoiceStatus1, String invoiceStatus2, String pieceStatus1, String pieceStatus2,
String expReceiptStatus1, String expReceiptStatus2, String expPaymentStatus1, String expPaymentStatus2,
boolean releaseEncumbrances1, boolean releaseEncumbrances2)
throws ExecutionException, InterruptedException {
String invoiceStatus1, String invoiceStatus2, String pieceStatus1, String pieceStatus2,
String expReceiptStatus1, String expReceiptStatus2, String expPaymentStatus1, String expPaymentStatus2,
boolean releaseEncumbrances1, boolean releaseEncumbrances2) {
CompositePurchaseOrder oldOrder = getMockAsJson(ORDER_PATH).mapTo(CompositePurchaseOrder.class);
CompositePoLine poLine1 = oldOrder.getCompositePoLines().get(0);
String poLineId1 = poLine1.getId();
Expand Down Expand Up @@ -246,14 +244,13 @@ void shouldCheckPaymentAndReceiptStatusesIfInvoicesAndPiecesHaveDifferentStatuse

@ParameterizedTest
@CsvSource(value = {
"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Fully Paid",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Fully Paid:Awaiting Payment",
"Open:Approved:Expected:Received:Awaiting Receipt:Partially Received:Awaiting Payment:Awaiting Payment",
"Approved:Open:Received:Expected:Partially Received:Awaiting Receipt:Awaiting Payment:Awaiting Payment",
"Paid:Open:Expected:Received:Awaiting Receipt:Partially Received:Fully Paid:Awaiting Payment"
}, delimiter = ':')
void shouldCheckPaymentAndReceiptStatusesIfInvoicesAndPiecesHaveDifferentStatusesAndPolCoveredMoreThenOneInvoice(
String invoiceStatus1, String invoiceStatus2, String pieceStatus1, String pieceStatus2,
String expReceiptStatus1, String expReceiptStatus2, String expPaymentStatus1, String expPaymentStatus2)
throws ExecutionException, InterruptedException {
String invoiceStatus1, String invoiceStatus2, String pieceStatus1, String pieceStatus2,
String expReceiptStatus1, String expReceiptStatus2, String expPaymentStatus1, String expPaymentStatus2) {
CompositePurchaseOrder oldOrder = getMockAsJson(ORDER_PATH).mapTo(CompositePurchaseOrder.class);
CompositePoLine poLine1 = oldOrder.getCompositePoLines().get(0);
String poLineId1 = poLine1.getId();
Expand Down

0 comments on commit 17a3b29

Please sign in to comment.