[
https://issues.apache.org/jira/browse/FINERACT-2632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Krishna Mewara updated FINERACT-2632:
-------------------------------------
Description:
the Clients API Swagger spec in {{ClientsApiResourceSwagger.java}} is missing
several fields that the server accepts and returns. This causes the generated
Feign/Retrofit client models to lack these fields, forcing test code to fall
back to raw JSON construction via RestAssured instead of using type-safe
request objects.
Same class of issue fixed for Savings in FINERACT-2626.
*Missing fields*
{{PostClientsRequest}}
* {{submittedOnDate}} - the submission date used when creating a pending
client ({{{}active=false{}}}). Currently tests must repurpose
{{activationDate}} as a workaround.
{{PostClientsClientIdRequest}}
* {{withdrawalDate}} - required by the {{withdraw}} command
* {{withdrawalReasonId}} - required by the {{withdraw}} command
* {{reopenedDate}} - required by the {{undoRejection}} and {{undoWithdrawal}}
commands
{{PutClientsClientIdRequest}}
* {{firstname}} - the server accepts this field for client name updates
* {{lastname}} - the server accepts this field for client name updates
*Reference: how the server actually handles these fields*
The legacy {{ClientHelper.java}} integration test helper already uses all of
these fields via raw JSON ({{{}getWithdrawClientAsJSON{}}},
{{{}getUndoRejectClientAsJSON{}}}, etc.), and the static Retrofit-style methods
on {{ClientHelper}} accept them as typed request parameters. The server-side
command handlers ({{{}ClientsApiResource{}}},
{{{}ClientWritePlatformServiceJpaRepositoryImpl{}}}) process them correctly
only the Swagger spec is incomplete.
was:
the Clients API Swagger spec in {{ClientsApiResourceSwagger.java}} is missing
several fields that the server accepts and returns. This causes the generated
Feign/Retrofit client models to lack these fields, forcing test code to fall
back to raw JSON construction via RestAssured instead of using type-safe
request objects.
Same class of issue fixed for Savings in FINERACT-2626.
*Missing fields*
{{PostClientsRequest}}
* {{submittedOnDate}} - the submission date used when creating a pending
client ({{{}active=false{}}}). Currently tests must repurpose
{{activationDate}} as a workaround.
{{PostClientsClientIdRequest}}
* {{withdrawalDate}} - required by the {{withdraw}} command
* {{withdrawalReasonId}} - required by the {{withdraw}} command
* {{reopenedDate}} - required by the {{undoRejection}} and {{undoWithdrawal}}
commands
{{PutClientsClientIdRequest}}
* {{firstname}} - the server accepts this field for client name updates
* {{lastname}} - the server accepts this field for client name updates
*Reference: how the server actually handles these fields*
The legacy {{ClientHelper.java}} integration test helper already uses all of
these fields via raw JSON ({{{}getWithdrawClientAsJSON{}}},
{{{}getUndoRejectClientAsJSON{}}}, etc.), and the static Retrofit-style methods
on {{ClientHelper}} (lines 155–182) accept them as typed request parameters.
The server-side command handlers ({{{}ClientsApiResource{}}},
{{{}ClientWritePlatformServiceJpaRepositoryImpl{}}}) process them correctly
only the Swagger spec is incomplete.
> Add missing fields to Clients Swagger spec for type-safe Feign client
> generation
> --------------------------------------------------------------------------------
>
> Key: FINERACT-2632
> URL: https://issues.apache.org/jira/browse/FINERACT-2632
> Project: Apache Fineract
> Issue Type: Improvement
> Reporter: Krishna Mewara
> Priority: Minor
> Labels: feign-migration, swagger
>
> the Clients API Swagger spec in {{ClientsApiResourceSwagger.java}} is missing
> several fields that the server accepts and returns. This causes the generated
> Feign/Retrofit client models to lack these fields, forcing test code to fall
> back to raw JSON construction via RestAssured instead of using type-safe
> request objects.
> Same class of issue fixed for Savings in FINERACT-2626.
> *Missing fields*
> {{PostClientsRequest}}
> * {{submittedOnDate}} - the submission date used when creating a pending
> client ({{{}active=false{}}}). Currently tests must repurpose
> {{activationDate}} as a workaround.
> {{PostClientsClientIdRequest}}
> * {{withdrawalDate}} - required by the {{withdraw}} command
> * {{withdrawalReasonId}} - required by the {{withdraw}} command
> * {{reopenedDate}} - required by the {{undoRejection}} and
> {{undoWithdrawal}} commands
> {{PutClientsClientIdRequest}}
> * {{firstname}} - the server accepts this field for client name updates
> * {{lastname}} - the server accepts this field for client name updates
> *Reference: how the server actually handles these fields*
> The legacy {{ClientHelper.java}} integration test helper already uses all of
> these fields via raw JSON ({{{}getWithdrawClientAsJSON{}}},
> {{{}getUndoRejectClientAsJSON{}}}, etc.), and the static Retrofit-style
> methods on {{ClientHelper}} accept them as typed request parameters. The
> server-side command handlers ({{{}ClientsApiResource{}}},
> {{{}ClientWritePlatformServiceJpaRepositoryImpl{}}}) process them correctly
> only the Swagger spec is incomplete.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)