public void documentChangeChargeDefinition()

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"))));
  }