This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/fineract.git
commit 8d829b1063146c5b438a47acac9e658f9207decd Author: MarianaDmytrivBinariks <[email protected]> AuthorDate: Mon Aug 4 17:16:41 2025 +0300 FINERACT-2338: added e2e test for backdated interest rate change --- .../features/LoanInterestRateChange.feature | 120 +++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature index d19807579d..0d3cd46598 100644 --- a/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature +++ b/fineract-e2e-tests-runner/src/test/resources/features/LoanInterestRateChange.feature @@ -1,6 +1,7 @@ @InterestRateChangeFeature Feature: Loan interest rate change on repayment schedule + @TestRailId:C3217 Scenario: Verify Interest rate change - backdated, modification on installment due date - UC1 When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -52,6 +53,7 @@ Feature: Loan interest rate change on repayment schedule When Loan Pay-off is made on "01 April 2024" Then Loan's all installments have obligations met + @TestRailId:C3916 Scenario: Verify Interest rate change - backdated, modification in middle of installment - UC2 When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -103,6 +105,7 @@ Feature: Loan interest rate change on repayment schedule When Loan Pay-off is made on "01 April 2024" Then Loan's all installments have obligations met + @TestRailId:C3917 Scenario: Verify Interest rate change - backdated, modification in middle of installment, no reverse-replay - UC3 When Admin sets the business date to "01 January 2024" When Admin creates a client with random data @@ -153,3 +156,120 @@ Feature: Loan interest rate change on repayment schedule | 01 March 2024 | Repayment | 17.01 | 16.52 | 0.49 | 0.0 | 0.0 | 67.05 | false | false | When Loan Pay-off is made on "01 April 2024" Then Loan's all installments have obligations met + + @TestRailId:C3918 + Scenario: Verify Interest rate change - backdated, modification on installment due date, with repayment undo - UC1.2 + When Admin sets the business date to "01 January 2024" + When Admin creates a client with random data + When Admin set "LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE" loan product "DEFAULT" transaction type to "NEXT_INSTALLMENT" future installment allocation rule + When Admin creates a fully customized loan with the following data: + | LoanProduct | submitted on date | with Principal | ANNUAL interest rate % | interest type | interest calculation period | amortization type | loanTermFrequency | loanTermFrequencyType | repaymentEvery | repaymentFrequencyType | numberOfRepayments | graceOnPrincipalPayment | graceOnInterestPayment | interest free period | Payment strategy | + | LP2_ADV_PYMNT_INTEREST_DAILY_EMI_360_30_INTEREST_RECALCULATION_DAILY_TILL_PRECLOSE | 01 January 2024 | 100 | 7 | DECLINING_BALANCE | DAILY | EQUAL_INSTALLMENTS | 6 | MONTHS | 1 | MONTHS | 6 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | + And Admin successfully approves the loan on "01 January 2024" with "100" amount and expected disbursement date on "01 January 2024" + When Admin successfully disburse the loan on "01 January 2024" with "100" EUR transaction amount + When Admin runs inline COB job for Loan + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 2 | 29 | 01 March 2024 | | 67.05 | 16.52 | 0.49 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 3 | 31 | 01 April 2024 | | 50.43 | 16.62 | 0.39 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 4 | 30 | 01 May 2024 | | 33.71 | 16.72 | 0.29 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 5 | 31 | 01 June 2024 | | 16.9 | 16.81 | 0.2 | 0.0 | 0.0 | 17.01 | 0.0 | 0.0 | 0.0 | 17.01 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.9 | 0.1 | 0.0 | 0.0 | 17.0 | 0.0 | 0.0 | 0.0 | 17.0 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 2.05 | 0.0 | 0.0 | 102.05 | 0.0 | 0.0 | 0.0 | 102.05 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + When Admin sets the business date to "01 April 2024" + And Customer makes "AUTOPAY" repayment on "01 February 2024" with 17.01 EUR transaction amount + And Customer makes "AUTOPAY" repayment on "01 March 2024" with 17.01 EUR transaction amount + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 February 2024 | 02 February 2024 | | | | | 4 | + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 16.88 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | | 50.31 | 16.66 | 0.22 | 0.0 | 0.0 | 16.88 | 0.13 | 0.13 | 0.0 | 16.75 | + | 4 | 30 | 01 May 2024 | | 33.6 | 16.71 | 0.17 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 5 | 31 | 01 June 2024 | | 16.83 | 16.77 | 0.11 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.83 | 0.06 | 0.0 | 0.0 | 16.89 | 0.0 | 0.0 | 0.0 | 16.89 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.42 | 0.0 | 0.0 | 101.42 | 34.02 | 0.13 | 0.0 | 67.4 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + | 01 March 2024 | Repayment | 17.01 | 16.73 | 0.28 | 0.0 | 0.0 | 66.84 | false | true | + + When Admin creates and approves Loan reschedule with the following data: + | rescheduleFromDate | submittedOnDate | adjustedDueDate | graceOnPrincipal | graceOnInterest | extraTerms | newInterestRate | + | 02 March 2024 | 02 March 2024 | | | | | 1.15 | + And Customer makes "AUTOPAY" repayment on "01 April 2024" with 16.65 EUR transaction amount + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | 01 March 2024 | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 16.88 | 0.0 | 0.0 | 0.0 | + | 3 | 31 | 01 April 2024 | 01 April 2024 | 50.19 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | 16.78 | 0.13 | 0.0 | 0.0 | + | 4 | 30 | 01 May 2024 | | 33.68 | 16.51 | 0.27 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 5 | 31 | 01 June 2024 | | 16.93 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.93 | 0.02 | 0.0 | 0.0 | 16.95 | 0.0 | 0.0 | 0.0 | 16.95 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.18 | 0.0 | 0.0 | 101.18 | 50.67 | 0.13 | 0.0 | 50.51 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + | 01 March 2024 | Repayment | 17.01 | 16.73 | 0.28 | 0.0 | 0.0 | 66.84 | false | true | + | 01 April 2024 | Repayment | 16.65 | 16.65 | 0.0 | 0.0 | 0.0 | 50.19 | false | false | +# --- undo 2nd repayment (while interest rate change to 4% have happened)--- + When Customer undo "1"th "Repayment" transaction made on "01 March 2024" + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | 01 February 2024 | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 17.01 | 0.0 | 0.0 | 0.0 | + | 2 | 29 | 01 March 2024 | | 66.97 | 16.6 | 0.28 | 0.0 | 0.0 | 16.88 | 16.65 | 0.0 | 16.65| 0.23 | + | 3 | 31 | 01 April 2024 | | 50.27 | 16.7 | 0.08 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 4 | 30 | 01 May 2024 | | 33.54 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 5 | 31 | 01 June 2024 | | 16.79 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.79 | 0.02 | 0.0 | 0.0 | 16.81 | 0.0 | 0.0 | 0.0 | 16.81 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.04 | 0.0 | 0.0 | 101.04 | 33.66 | 0.0 | 16.65 | 67.38 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | false | false | + | 01 March 2024 | Repayment | 17.01 | 16.73 | 0.28 | 0.0 | 0.0 | 66.84 | true | true | + | 01 April 2024 | Repayment | 16.65 | 16.6 | 0.05 | 0.0 | 0.0 | 66.97 | false | true | +# --- undo 1st repayment (while no interest rate change have happened)--- + When Customer undo "1"th "Repayment" transaction made on "01 February 2024" + Then Loan Repayment schedule has 6 periods, with the following data for periods: + | Nr | Days | Date | Paid date | Balance of loan | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | | | 01 January 2024 | | 100.0 | | | 0.0 | | 0.0 | 0.0 | | | | + | 1 | 31 | 01 February 2024 | | 83.57 | 16.43 | 0.58 | 0.0 | 0.0 | 17.01 | 16.65 | 0.0 | 16.65| 0.36 | + | 2 | 29 | 01 March 2024 | | 67.02 | 16.55 | 0.33 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + | 3 | 31 | 01 April 2024 | | 50.34 | 16.68 | 0.1 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 4 | 30 | 01 May 2024 | | 33.61 | 16.73 | 0.05 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 5 | 31 | 01 June 2024 | | 16.86 | 16.75 | 0.03 | 0.0 | 0.0 | 16.78 | 0.0 | 0.0 | 0.0 | 16.78 | + | 6 | 30 | 01 July 2024 | | 0.0 | 16.86 | 0.02 | 0.0 | 0.0 | 16.88 | 0.0 | 0.0 | 0.0 | 16.88 | + Then Loan Repayment schedule has the following data in Total row: + | Principal due | Interest | Fees | Penalties | Due | Paid | In advance | Late | Outstanding | + | 100.0 | 1.11 | 0.0 | 0.0 | 101.11 | 16.65 | 0.0 | 16.65 | 84.46 | + Then Loan Transactions tab has the following data: + | Transaction date | Transaction Type | Amount | Principal | Interest | Fees | Penalties | Loan Balance | Reverted | Replayed | + | 01 January 2024 | Disbursement | 100.0 | 0.0 | 0.0 | 0.0 | 0.0 | 100.0 | false | false | + | 01 February 2024 | Repayment | 17.01 | 16.43 | 0.58 | 0.0 | 0.0 | 83.57 | true | false | + | 01 March 2024 | Repayment | 17.01 | 16.73 | 0.28 | 0.0 | 0.0 | 66.84 | true | true | + | 01 April 2024 | Repayment | 16.65 | 16.43 | 0.22 | 0.0 | 0.0 | 83.57 | false | true | + + When Loan Pay-off is made on "01 April 2024" + Then Loan's all installments have obligations met +
