DeathGun44 opened a new pull request, #6050:
URL: https://github.com/apache/fineract/pull/6050

   ## Description
   This PR transitions **34 test classes** (encompassing approximately **107 
test methods**) to utilize the Feign client, entirely removing their dependency 
on REST-assured. 
   
   **Note on Behavior:** The core test behavior and assertions remain 
completely unchanged. This is strictly a refactor of the underlying HTTP client 
layer. 
   
   ### Review Strategy: Why the commits are split
   To make the review process as seamless as possible, the work has been 
divided into **9 logical commits** grouped by functional test area (e.g., 
progressive loans, accruals, repayments). 
   
   Reviewing commit-by-commit is highly recommended rather than tackling the 
entire diff at once. This granular approach also ensures that if CI fails or 
issues arise later, it is much easier to isolate and track down the specific 
batch that introduced the regression.
   
   ### Scope
   
   **Included in this PR:**
   * Charge-off and post charge-off scenarios
   * Fraud marking mechanisms
   * Delinquency configurations and non-active account handling
   * Progressive loan workflows (disbursement, moratorium, tranches, undo 
disbursement)
   * Accrual accounting and multi-activity accruals
   * Loan repayment flows with comprehensive journal entry verification
   * Reverse-replay operations and charge-off accounting entries
   * Waiving charges, processing refunds, contract terminations, and pay-offs
   
   **Deferred to Future PRs (Batches 3 & 4):**
   * Reschedule and chargeback-intensive tests
   * Cumulative and advanced payment allocation schedule tests
   * Close of Business (COB), inline COB, external asset owners, batch APIs, 
and permissions
   
   ### Infrastructure Enhancements
   This PR builds upon the shared Feign test infrastructure from Batch 1, 
adding and extending several utilities to streamline testing:
   
   * **`FeignJournalEntryHelper`**: Facilitates the fetching and verification 
of journal entries.
   * **`FeignTransactionHelper`**: Provides utilities for managing repayments, 
reverse-replay, and charge-offs.
   * **`FeignGlobalConfigurationHelper`**: Manages global configuration toggles 
required for delinquency testing.
   * **`FeignCodeHelper`**: Streamlines code value lookups.
   * **`FeignRawHttpHelper`**: Handles edge cases requiring raw HTTP requests, 
safely utilizing `fineract.it.url` and tenant configurations.
   * **Shared Builders & Validators**: Expanded `LoanProductTemplates`, 
`ChargeRequestBuilders`, and `LoanTestValidators`.
   * **`FeignLoanTestBase`**: Enhanced with helper methods for advancing loan 
states, verifying journals, and managing charge-offs.
   
   ### Commit Breakdown 
   1. Tier 2 initial batch (12 tests + core infrastructure)
   2. Progressive loan transaction tests
   3. Charge accrual and closure tests
   4. Contract termination flows
   5. Loan repayment operations (+ journal infrastructure)
   6. Charge, waive, and refund tests
   7. Credit balance refunds, interest refunds, and delinquency scenarios
   8. Fraud marking, accrual activity, and charge-off accounting
   9. Reverse-replay, accrual reversals, and post charge-off scenarios
   
   ## Checklist
   
   Please make sure these boxes are checked before submitting your pull request 
- thanks!
   
   - [ ] Write the commit message as per [our 
guidelines](https://github.com/apache/fineract/blob/develop/CONTRIBUTING.md#pull-requests)
   - [ ] Acknowledge that we will not review PRs that are not passing the build 
_("green")_ - it is your responsibility to get a proposed PR to pass the build, 
not primarily the project's maintainers.
   - [ ] Create/update [unit or integration 
tests](https://fineract.apache.org/docs/current/#_testing) for verifying the 
changes made.
   - [ ] Follow our [coding 
conventions](https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions).
   - [ ] Add required Swagger annotation and update API documentation at 
fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with 
details of any API changes
   - [ ] [This PR must not be a "code 
dump"](https://cwiki.apache.org/confluence/display/FINERACT/Pull+Request+Size+Limit).
 Large changes can be made in a branch, with assistance. Ask for help on the 
[developer mailing list](https://fineract.apache.org/#contribute).
   
   Your assigned reviewer(s) will follow our [guidelines for code 
reviews](https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to