public void documentFindProductDefinition()

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


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

    super.depositAccountManager.create(productDefinition);
    super.eventRecorder.wait(EventConstants.POST_PRODUCT_DEFINITION, productDefinition.getIdentifier());

    this.mockMvc.perform(get("/definitions/" + productDefinition.getIdentifier())
            .contentType(MediaType.APPLICATION_JSON_VALUE)
            .accept(MediaType.ALL_VALUE))
            .andExpect(status().isOk())
            .andDo(document("document-find-product-definition", preprocessResponse(prettyPrint()),
                    responseFields(
                            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[].description").type("String").description("Description 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].description").type("String").description("Description of second charge"),
                            fieldWithPath("charges[1].amount").type("Double").description("Amount of second charge"),
                            fieldWithPath("flexible").description("Is product definition flexible ?"),
                            fieldWithPath("active").description("Is product definition active ?")
                    )));
  }