| @COBFeature |
| Feature: COBFeature |
| |
| @TestRailId:C2501 @Skip |
| Scenario: As an admin I would like to see that last closed business date got updated after COB catch up job finished |
| When Admin sets the business date to "01 January 2022" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 January 2022" |
| And Admin successfully approves the loan on "01 January 2022" with "1000" amount and expected disbursement date on "01 January 2022" |
| When Admin successfully disburse the loan on "01 January 2022" with "1000" EUR transaction amount |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 January 2022" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 January 2022" |
| When Admin sets the business date to "05 January 2022" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 January 2022" |
| When Admin runs COB catch up |
| When Admin checks that Loan COB is running until the current business date |
| Then Admin checks that last closed business date of loan is "04 January 2022" |
| And Customer makes "AUTOPAY" repayment on "05 January 2022" with 1000 EUR transaction amount |
| Then Loan status will be "CLOSED_OBLIGATIONS_MET" |
| |
| |
| @TestRailId:C2681 @Skip |
| Scenario: As an admin I would like to check that the Delinquency bucket set on the loan correctly when the arrears setting is 3 on the product |
| When Admin sets the business date to "1 January 2022" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "1 January 2022" |
| And Admin successfully approves the loan on "1 January 2022" with "1000" amount and expected disbursement date on "1 January 2022" |
| When Admin successfully disburse the loan on "1 January 2022" with "1000" EUR transaction amount |
| When Admin sets the business date to "4 February 2022" |
| When Admin runs COB job |
| Then Admin checks that delinquency range is: "RANGE_1" and has delinquentDate "2022-02-03" |
| |
| @TestRailId:C2791 @Skip |
| Scenario: Verify that COB processes loans which are not closed/overpaid and has a last_closed_business_date exactly 1 day behind COB date |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 July 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 July 2023" |
| When Admin sets the business date to "03 July 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "02 July 2023" |
| |
| @TestRailId:C2792 |
| Scenario: Verify that COB doesn’t touch loans with last closed business date behind COB date |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "10 August 2023" |
| When Admin runs inline COB job for Loan |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Admin checks that delinquency range is: "RANGE_3" and has delinquentDate "2023-08-03" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| When Admin sets the business date to "12 August 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| |
| @TestRailId:C2793 |
| Scenario: Verify that COB doesn’t touch CLOSED loans |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "10 August 2023" |
| When Admin runs inline COB job for Loan |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Admin checks that delinquency range is: "RANGE_3" and has delinquentDate "2023-08-03" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| And Customer makes "AUTOPAY" repayment on "10 August 2023" with 1000 EUR transaction amount |
| Then Loan status will be "CLOSED_OBLIGATIONS_MET" |
| Then Admin checks that delinquency range is: "NO_DELINQUENCY" and has delinquentDate "" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | 10 August 2023 | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| When Admin sets the business date to "11 August 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | 10 August 2023 | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| |
| @TestRailId:C2794 |
| Scenario: Verify that COB doesn’t touch OVERPAID loans |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "10 August 2023" |
| When Admin runs inline COB job for Loan |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Admin checks that delinquency range is: "RANGE_3" and has delinquentDate "2023-08-03" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| And Customer makes "AUTOPAY" repayment on "10 August 2023" with 1200 EUR transaction amount |
| Then Loan status will be "OVERPAID" |
| Then Admin checks that delinquency range is: "NO_DELINQUENCY" and has delinquentDate "" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | 10 August 2023 | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| When Admin sets the business date to "11 August 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "09 August 2023" |
| Then Loan delinquency history has the following details: |
| | Range (Classification) | Added on date | Lifted on date | |
| | RANGE_3 | 09 August 2023 | 10 August 2023 | |
| | RANGE_1 | 04 August 2023 | 09 August 2023 | |
| |
| @TestRailId:C2795 @Skip |
| Scenario: Verify that COB catch up runs properly on loan which is behind date because of locked with error |
| When Admin sets the business date to "01 January 2022" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 January 2022" |
| And Admin successfully approves the loan on "01 January 2022" with "1000" amount and expected disbursement date on "01 January 2022" |
| When Admin successfully disburse the loan on "01 January 2022" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 January 2022" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 January 2022" |
| When Admin sets the business date to "03 January 2022" |
| Then Admin places a lock on loan account with an error message |
| Then Admin checks that last closed business date of loan is "01 January 2022" |
| When Admin sets the business date to "05 January 2022" |
| Then Admin checks that last closed business date of loan is "01 January 2022" |
| When Admin runs COB catch up |
| When Admin checks that Loan COB is running until the current business date |
| Then Admin checks that last closed business date of loan is "04 January 2022" |
| And Customer makes "AUTOPAY" repayment on "05 January 2022" with 1000 EUR transaction amount |
| Then Loan status will be "CLOSED_OBLIGATIONS_MET" |
| |
| @TestRailId:C2796 |
| Scenario: Verify that after COB runs there are no unreleased loan locks |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 July 2023" |
| When Admin runs COB job |
| Then The loan account is not locked |
| |
| @TestRailId:C2797 @Skip |
| Scenario: Verify that Inline COB is executed for stuck loans - when payment happened on a loan with last closed business date in the past, COB got executed before the repayment |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 July 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 July 2023" |
| When Admin sets the business date to "04 July 2023" |
| When Admin creates new user with "NO_BYPASS_AUTOTEST" username, "NO_BYPASS_AUTOTEST_ROLE" role name and given permissions: |
| | REPAYMENT_LOAN | |
| When Created user makes externalID controlled "AUTOPAY" repayment on "04 July 2023" with 500 EUR transaction amount |
| Then Admin checks that last closed business date of loan is "03 July 2023" |
| |
| # On a hard locked loan, in case of the lock has an error message, payment by a non-bypass user should trigger inlineCob and it should be executed |
| # this functionality is not implemented yet |
| @Skip @TestRailId:C2798 |
| Scenario: Verify that Inline COB is executed for stuck loans - when payment happened on a locked loan COB got executed before the repayment |
| When Admin sets the business date to "01 July 2023" |
| When Admin creates a client with random data |
| When Admin creates a new default Loan with date: "01 July 2023" |
| And Admin successfully approves the loan on "01 July 2023" with "1000" amount and expected disbursement date on "01 July 2023" |
| When Admin successfully disburse the loan on "01 July 2023" with "1000" EUR transaction amount |
| Then Loan status will be "ACTIVE" |
| Then Admin checks that last closed business date of loan is "null" |
| When Admin sets the business date to "02 July 2023" |
| When Admin runs COB job |
| Then Admin checks that last closed business date of loan is "01 July 2023" |
| When Admin places a lock on loan account with an error message |
| When Admin sets the business date to "04 July 2023" |
| When Admin creates new user with "NO_BYPASS_AUTOTEST" username, "NO_BYPASS_AUTOTEST_ROLE" role name and given permissions: |
| | REPAYMENT_LOAN | |
| When Created user makes externalID controlled "AUTOPAY" repayment on "04 July 2023" with 500 EUR transaction amount |
| Then Admin checks that last closed business date of loan is "03 July 2023" |
| |
| @TestRailId:C3044 @AdvancedPaymentAllocation |
| Scenario: Verify that LoanAccountCustomSnapshotBusinessEvent is created with proper business date when installment is due date and COB runs |
| Given Admin puts CHECK_DUE_INSTALLMENTS job into LOAN_CLOSE_OF_BUSINESS workflow |
| When Admin sets the business date to "01 January 2024" |
| When Admin creates a client with random data |
| When Admin set "PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION" 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 | |
| | PIN4_DOWNPAYMENT_AUTO_ADVANCED_PAYMENT_ALLOCATION | 01 January 2024 | 1000 | 0 | FLAT | SAME_AS_REPAYMENT_PERIOD | EQUAL_INSTALLMENTS | 45 | DAYS | 15 | DAYS | 3 | 0 | 0 | 0 | ADVANCED_PAYMENT_ALLOCATION | |
| And Admin successfully approves the loan on "01 January 2024" with "1000" amount and expected disbursement date on "01 January 2024" |
| When Admin successfully disburse the loan on "01 January 2024" with "1000" EUR transaction amount |
| When Admin sets the business date to "17 January 2024" |
| When Admin runs inline COB job for Loan |
| Then LoanAccountCustomSnapshotBusinessEvent is created with business date "17 January 2024" |
| Then Admin removes CHECK_DUE_INSTALLMENTS job from LOAN_CLOSE_OF_BUSINESS workflow |
| |
| |