This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 8e991e1a3 FINERACT-1971: Payment type is not mandatory
8e991e1a3 is described below

commit 8e991e1a3620088719f43f9ccc9a5d1aca2442e4
Author: Adam Saghy <[email protected]>
AuthorDate: Mon Feb 19 17:49:40 2024 +0100

    FINERACT-1971: Payment type is not mandatory
---
 .../serialization/LoanEventApiJsonValidator.java       | 18 +++++-------------
 ...argebackOnPaymentTypeRepaymentTransactionsTest.java |  2 +-
 2 files changed, 6 insertions(+), 14 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanEventApiJsonValidator.java
 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanEventApiJsonValidator.java
index 4050539d7..b95a5d54f 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanEventApiJsonValidator.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/portfolio/loanaccount/serialization/LoanEventApiJsonValidator.java
@@ -233,7 +233,7 @@ public final class LoanEventApiJsonValidator {
         
baseDataValidator.reset().parameter(LoanApiConstants.REVERSAL_EXTERNAL_ID_PARAMNAME).ignoreIfNull().value(reversalExternalId)
                 .notExceedingLengthOf(100);
 
-        validatePaymentDetails(baseDataValidator, element, false);
+        validatePaymentDetails(baseDataValidator, element);
         throwExceptionIfValidationWarningsExist(dataValidationErrors);
     }
 
@@ -263,7 +263,7 @@ public final class LoanEventApiJsonValidator {
         final String note = 
this.fromApiJsonHelper.extractStringNamed(LoanApiConstants.noteParameterName, 
element);
         
baseDataValidator.reset().parameter(LoanApiConstants.noteParameterName).value(note).notExceedingLengthOf(1000);
 
-        validatePaymentDetails(baseDataValidator, element, true);
+        validatePaymentDetails(baseDataValidator, element);
         throwExceptionIfValidationWarningsExist(dataValidationErrors);
     }
 
@@ -313,19 +313,11 @@ public final class LoanEventApiJsonValidator {
     }
 
     private void validatePaymentDetails(final DataValidatorBuilder 
baseDataValidator, final JsonElement element) {
-        final boolean paymentDetailRequired = false; // Default value for 
backward compatibility
-        validatePaymentDetails(baseDataValidator, element, 
paymentDetailRequired);
-    }
-
-    private void validatePaymentDetails(final DataValidatorBuilder 
baseDataValidator, final JsonElement element,
-            final boolean paymentDetailRequired) {
         // Validate all string payment detail fields for max length
         final Integer paymentTypeId = 
this.fromApiJsonHelper.extractIntegerWithLocaleNamed("paymentTypeId", element);
-        if (paymentDetailRequired) {
-            
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).notNull().integerGreaterThanZero();
-        } else {
-            
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).ignoreIfNull().integerGreaterThanZero();
-        }
+
+        
baseDataValidator.reset().parameter("paymentTypeId").value(paymentTypeId).ignoreIfNull().integerGreaterThanZero();
+
         final Set<String> paymentDetailParameters = new HashSet<>(
                 Arrays.asList("accountNumber", "checkNumber", "routingCode", 
"receiptNumber", "bankNumber"));
         for (final String paymentDetailParameterName : 
paymentDetailParameters) {
diff --git 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanChargebackOnPaymentTypeRepaymentTransactionsTest.java
 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanChargebackOnPaymentTypeRepaymentTransactionsTest.java
index 2f6e81210..0abb77ab7 100644
--- 
a/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanChargebackOnPaymentTypeRepaymentTransactionsTest.java
+++ 
b/integration-tests/src/test/java/org/apache/fineract/integrationtests/LoanChargebackOnPaymentTypeRepaymentTransactionsTest.java
@@ -201,7 +201,7 @@ public class 
LoanChargebackOnPaymentTypeRepaymentTransactionsTest {
         // chargeback on Merchant Issued Refund Transaction
         chargebackTransactionResponse = 
loanTransactionHelper.chargebackLoanTransaction(loanExternalIdStr,
                 merchantIssuedRefund_1.getResourceId(),
-                new 
PostLoansLoanIdTransactionsTransactionIdRequest().locale("en").transactionAmount(100.0).paymentTypeId(1L));
+                new 
PostLoansLoanIdTransactionsTransactionIdRequest().locale("en").transactionAmount(100.0));
 
         // verify transaction relation and outstanding balance
         assertNotNull(chargebackTransactionResponse);

Reply via email to