[ 
https://issues.apache.org/jira/browse/FINERACT-2635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krishna Mewara updated FINERACT-2635:
-------------------------------------
    Description: 
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 — 14 methods covering global charge catalogue management 
(ChargesApi)
  and client-level charge lifecycle (ClientChargesApi). Constructor-injected 
FineractFeignClient.
 
FeignDelinquencyLifecycleTest — 7 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.createLoanDisbursementCharge().
 
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.

  was:
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.


> 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
>            Priority: Minor
>              Labels: feign-migration, integration-tests
>
> 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 — 14 methods covering global charge catalogue management 
> (ChargesApi)
>   and client-level charge lifecycle (ClientChargesApi). Constructor-injected 
> FineractFeignClient.
>  
> FeignDelinquencyLifecycleTest — 7 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.createLoanDisbursementCharge().
>  
> 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