FINERACT-2338: added e2e test for backdated interest rate change

This commit is contained in:
MarianaDmytrivBinariks
2025-08-05 13:48:39 +02:00
committed by Adam Saghy
parent d82ffddecc
commit 8d829b1063
@@ -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