in component-test/src/main/java/org/apache/fineract/cn/portfolio/ChargeDefinitionApiDocumentation.java [147:186]
public void documentChangeChargeDefinition() throws Exception {
final Product product = createProduct();
final ChargeDefinition chargeDefinition = new ChargeDefinition();
chargeDefinition.setIdentifier("charge124");
chargeDefinition.setName("core123");
chargeDefinition.setFromAccountDesignator("Pembe");
chargeDefinition.setToAccountDesignator("Miriam");
chargeDefinition.setAmount(BigDecimal.ONE.setScale(3, BigDecimal.ROUND_UNNECESSARY));
chargeDefinition.setChargeMethod(ChargeDefinition.ChargeMethod.FIXED);
chargeDefinition.setChargeAction(Action.OPEN.name());
chargeDefinition.setDescription("describe charge");
portfolioManager.createChargeDefinition(product.getIdentifier(), chargeDefinition);
chargeDefinition.setName("charge12345");
chargeDefinition.setFromAccountDesignator("Paul");
chargeDefinition.setToAccountDesignator("Motia");
Gson gson = new Gson();
this.mockMvc.perform(put("/products/" + product.getIdentifier() + "/charges/" + chargeDefinition.getIdentifier())
.accept(MediaType.APPLICATION_JSON_VALUE)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.header(TENANT_HEADER, tenantDataStoreContext.getTenantName())
.content(gson.toJson(chargeDefinition)))
.andExpect(status().isAccepted())
.andDo(document(
"document-change-charge-definition", preprocessRequest(prettyPrint()), preprocessResponse(prettyPrint()),
requestFields(
fieldWithPath("identifier").description("Charge definition's identifier"),
fieldWithPath("name").description("Charge definitions given name"),
fieldWithPath("fromAccountDesignator").description("From account designator"),
fieldWithPath("toAccountDesignator").description("To account designator"),
fieldWithPath("amount").description("Charge definition's amount"),
fieldWithPath("chargeMethod").description("Charge definitions charge method"),
fieldWithPath("chargeAction").description("Charge definition's charge action"),
fieldWithPath("description").description("Employee's middle name"),
fieldWithPath("readOnly").description("Readability"))));
}