Krishna Mewara created FINERACT-2635:
----------------------------------------

             Summary: Add FeignChargesHelper, ChargeRequestBuilders, and 
FeignDelinquencyLifecycleTest to integration test Feign migration
                 Key: FINERACT-2635
                 URL: https://issues.apache.org/jira/browse/FINERACT-2635
             Project: Apache Fineract
          Issue Type: Improvement
          Components: Test
            Reporter: Krishna Mewara
            Assignee: Krishna Mewara


Extends the ongoing RestAssured → Feign client migration to the Charges and 
Delinquency domains.
 
Also fixes a spec gap in ChargesApiResourceSwagger where four fields present in
PutChargesChargeIdRequest are missing from PostChargesRequest, causing the 
generated
ChargeRequest model to silently send null for savings withdrawal charge updates.
 
New files:
 
- ChargeRequestBuilders — static factories for typed ChargeRequest objects
  (loanDisbursementFee, loanSpecifiedDueDateFee, loanInstallmentFee, 
loanOverdueFee,
  clientSpecifiedDueDateFee). Mirrors ClientRequestBuilders / 
SavingsRequestBuilders pattern.
 
- FeignChargesHelper — 13 methods covering global charge catalogue management 
(ChargesApi)
  and client-level charge lifecycle (ClientChargesApi). Constructor-injected 
FineractFeignClient.
 
- FeignDelinquencyLifecycleTest — 6 ordered tests covering delinquency range 
and bucket
  create / update / delete using the existing Feign-native 
DelinquencyBucketsHelper and
  DelinquencyRangesHelper.
 
Modified files:
 
- ChargesApiResourceSwagger — adds freeWithdrawalFrequency, 
restartCountFrequency,
  countFrequencyType, enableFreeWithdrawalCharge to PostChargesRequest so the 
generated
  ChargeRequest model matches what the server accepts on PUT 
/charges/\{chargeId}.
 
- FeignLoanChargeOriginatorEnricherTest, 
FeignLoanAdjustmentOriginatorEnricherTest,
  FeignTrialBalanceSummaryReportTest — replace duplicated private 
createCharge() /
  createFlatFeeCharge() methods with 
chargesHelper.createLoanDisbursementFeeCharge().
 
Key design decisions:
 
- FeignChargesHelper is scoped to ChargesApi + ClientChargesApi only. 
LoanChargesApi
  (add/pay/waive/delete a charge on a specific loan) is deferred to the PR 4 
roadmap item:
  Extend FeignLoanHelper — charge management.
- FeignDelinquencyLifecycleTest requires no new helper because 
DelinquencyBucketsHelper
  and DelinquencyRangesHelper are already fully Feign-native.
- Loan delinquency actions (POST /loans/\{loanId}/delinquency/action) deferred 
to PR 4.
- Zero RestAssured or Retrofit imports — pure Feign throughout.
- No modifications to existing legacy helpers or tests beyond the 3 targeted 
call sites.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to