Skip to content

Commit 959f5bd

Browse files
FINERACT-2455: WC - Transaction Type - GoodWill Credit - Payment Allocation handling
1 parent ae333f3 commit 959f5bd

7 files changed

Lines changed: 842 additions & 20 deletions

File tree

fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/data/workingcapitalproduct/DefaultWorkingCapitalLoanProduct.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ public enum DefaultWorkingCapitalLoanProduct implements WorkingCapitalLoanProduc
3636
WCLP_DUE_FEE_PENALTY_PRINCIPAL, //
3737
WCLP_IN_ADVANCE_PENALTY_FEE_PRINCIPAL, //
3838
WCLP_DUE_FEE_PRINCIPAL_PENALTY, //
39-
WCLP_DUE_PRINCIPAL_FEE_PENALTY; //
39+
WCLP_DUE_PRINCIPAL_FEE_PENALTY, //
40+
WCLP_GOODWILL_CREDIT_ALLOCATION; //
4041

4142
@Override
4243
public String getName() {

fineract-e2e-tests-core/src/test/java/org/apache/fineract/test/support/TestContextKey.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ public abstract class TestContextKey {
345345
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_IN_ADVANCE_PENALTY_FEE_PRINCIPAL = "workingCapitalLoanProductCreateResponseWCLPInAdvancePenaltyFeePrincipal";
346346
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_DUE_FEE_PRINCIPAL_PENALTY = "workingCapitalLoanProductCreateResponseWCLPDueFeePrincipalPenalty";
347347
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_DUE_PRINCIPAL_FEE_PENALTY = "workingCapitalLoanProductCreateResponseWCLPDuePrincipalFeePenalty";
348+
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_GOODWILL_CREDIT_ALLOCATION = "workingCapitalLoanProductCreateResponseWCLPGoodwillCreditAllocation";
348349
public static final String WC_LOAN_IDS = "wcLoanIds";
349350
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_REQUEST_FOR_UPDATE_WCLP = "workingCapitalLoanProductCreateRequestForUpdateWCLP";
350351
public static final String DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_FOR_UPDATE_WCLP = "workingCapitalLoanProductCreateResponseForUpdateWCLP";

fineract-e2e-tests-runner/src/test/java/org/apache/fineract/test/initializer/global/WorkingCapitalInitializerStep.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,27 @@ public void initialize() throws Exception {
225225
List.of(DUE_PRINCIPAL, DUE_FEE, DUE_PENALTY, IN_ADVANCE_PRINCIPAL, IN_ADVANCE_FEE,
226226
IN_ADVANCE_PENALTY))))
227227
.overpaymentLiabilityAccountId(accountTypeResolver.resolve(DefaultAccountType.OTHER_CREDIT_LIABILITY))
228+
.paymentChannelToFundSourceMappings(
229+
List.of(new org.apache.fineract.client.models.WorkingCapitalLoanPaymentChannelToFundSourceMappings()
230+
.paymentTypeId(paymentTypeResolver.resolve(DefaultPaymentType.MONEY_TRANSFER))
231+
.fundSourceAccountId(accountTypeResolver.resolve(DefaultAccountType.FUND_RECEIVABLES)))))),
232+
() -> TestContext.INSTANCE.set(
233+
TestContextKey.DEFAULT_WORKING_CAPITAL_LOAN_PRODUCT_CREATE_RESPONSE_WCLP_GOODWILL_CREDIT_ALLOCATION,
234+
createWorkingCapitalLoanProductIdempotent(workingCapitalRequestFactory
235+
.defaultWorkingCapitalLoanProductRequestWithAccrualAccounting()
236+
.name(DefaultWorkingCapitalLoanProduct.WCLP_GOODWILL_CREDIT_ALLOCATION.getName())
237+
.allowAttributeOverrides(allowAttributeOverrides)
238+
.overpaymentLiabilityAccountId(accountTypeResolver.resolve(DefaultAccountType.OTHER_CREDIT_LIABILITY))
239+
.paymentAllocation(List.of(
240+
createPaymentAllocation(PostPaymentAllocation.TransactionTypeEnum.DEFAULT.getValue(),
241+
List.of(DUE_FEE, DUE_PENALTY, DUE_PRINCIPAL, IN_ADVANCE_FEE, IN_ADVANCE_PENALTY,
242+
IN_ADVANCE_PRINCIPAL)),
243+
createPaymentAllocation(PostPaymentAllocation.TransactionTypeEnum.REPAYMENT.getValue(),
244+
List.of(DUE_FEE, DUE_PENALTY, DUE_PRINCIPAL, IN_ADVANCE_FEE, IN_ADVANCE_PENALTY,
245+
IN_ADVANCE_PRINCIPAL)),
246+
createPaymentAllocation(PostPaymentAllocation.TransactionTypeEnum.GOODWILL_CREDIT.getValue(),
247+
List.of(DUE_PRINCIPAL, DUE_FEE, DUE_PENALTY, IN_ADVANCE_PRINCIPAL, IN_ADVANCE_FEE,
248+
IN_ADVANCE_PENALTY))))
228249
.paymentChannelToFundSourceMappings(
229250
List.of(new org.apache.fineract.client.models.WorkingCapitalLoanPaymentChannelToFundSourceMappings()
230251
.paymentTypeId(paymentTypeResolver.resolve(DefaultPaymentType.MONEY_TRANSFER))

0 commit comments

Comments
 (0)