public void documentCreateProductDefinition()

in component-test/src/main/java/org/apache/fineract/cn/deposit/DepositApiDocumentation.java [125:165]


  public void documentCreateProductDefinition ( ) throws Exception {
    final ProductDefinition productDefinition = Fixture.productDefinition();

    Gson gson = new Gson();
    this.mockMvc.perform(post("/definitions")
            .contentType(MediaType.APPLICATION_JSON_VALUE)
            .accept(MediaType.APPLICATION_JSON_VALUE)
            .content(gson.toJson(productDefinition)))
            .andExpect(status().isAccepted())
            .andDo(document("document-create-product-definition", preprocessRequest(prettyPrint()),
                    requestFields(
                            fieldWithPath("type").description("Type of transaction"),
                            fieldWithPath("identifier").description("Action identifier"),
                            fieldWithPath("name").description("Name of action"),
                            fieldWithPath("description").description("Description of action"),
                            fieldWithPath("currency.code").description("Currency's code"),
                            fieldWithPath("currency.name").description("Currency's name"),
                            fieldWithPath("currency.sign").description("Currency's sign"),
                            fieldWithPath("currency.scale").type("Integer").description("Currency's scale"),
                            fieldWithPath("minimumBalance").type("Double").description("Minimum Balance"),
                            fieldWithPath("equityLedgerIdentifier").description("Equity Ledger Identifier"),
                            fieldWithPath("cashAccountIdentifier").description("Cash Account"),
                            fieldWithPath("expenseAccountIdentifier").description("Expense Account"),
                            fieldWithPath("accrueAccountIdentifier").description("Accrue Account"),
                            fieldWithPath("interest").type("Double").description("Interest"),
                            fieldWithPath("term.period").type("Integer").description("Term period"),
                            fieldWithPath("term.timeUnit").type("TimeUnit").description("Term time unit"),
                            fieldWithPath("term.interestPayable").description("Term interest payable"),
                            fieldWithPath("charges[].actionIdentifier").description("Charge first action"),
                            fieldWithPath("charges[].incomeAccountIdentifier").description("first Charge income account"),
                            fieldWithPath("charges[].name").description("Name of first charge"),
                            fieldWithPath("charges[].proportional").description("Is charge proportional ?"),
                            fieldWithPath("charges[].amount").type("Double").description("Amount of first charge"),
                            fieldWithPath("charges[1].actionIdentifier").description("Charge second action"),
                            fieldWithPath("charges[1].incomeAccountIdentifier").description("Charge income account"),
                            fieldWithPath("charges[1].name").description("Name of second charge"),
                            fieldWithPath("charges[1].proportional").description("Is charge proportional ?"),
                            fieldWithPath("charges[1].amount").type("Double").description("Amount of second charge"),
                            fieldWithPath("flexible").description("is product definition flexible ?")
                    )));
  }