in component-test/src/main/java/org/apache/fineract/cn/portfolio/ProductsApiDocumentation.java [102:140]
public void documentGetProducts() throws Exception {
final Product product = createAdjustedProduct(x -> {
});
this.eventRecorder.wait(EventConstants.POST_PRODUCT, product.getIdentifier());
try {
this.mockMvc.perform(get("/products?pageIndex=0&size=200")
.accept(MediaType.APPLICATION_JSON_VALUE)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
.andExpect(status().isOk())
.andDo(document(
"document-get-products", preprocessRequest(prettyPrint()),
responseFields(
fieldWithPath("identifier").description("Product's identifier"),
fieldWithPath("name").description("Product's given name"),
fieldWithPath("termRange").type("List<TermRange>").description("The term range +\n" +
" +\n" +
"_TermRange_ { +\n" +
" *enum* _Type_ { +\n" +
" temporalUnit, +\n" +
" maximum, +\n" +
" } +"),
fieldWithPath("balanceRange").description("Product's balance range"),
fieldWithPath("interestRange").description("Products interest Range"),
fieldWithPath("interestBasis").description("Products's interest basis"),
fieldWithPath("patternPackage").description("Product's pattern package"),
fieldWithPath("description").description("product description"),
fieldWithPath("currencyCode").description("Country currency code"),
fieldWithPath("minorCurrencyUnitDigits").description("Country minor currency unit"),
fieldWithPath("accountAssignments").description("Account Assignments"),
fieldWithPath("parameters").description("Product's parameters"),
fieldWithPath("enabled").description("Readability"))));
} catch (Exception e) {
e.printStackTrace();
}
}