public void documentFetchProductDefinitions()

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


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

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

    final ProductDefinition productDefinitionTwo = Fixture.productDefinition();

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

    this.mockMvc.perform(get("/definitions")
            .contentType(MediaType.APPLICATION_JSON_VALUE)
            .accept(MediaType.ALL_VALUE))
            .andExpect(status().isOk())
            .andDo(document("document-fetch-product-definitions", 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[].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("[1].active").description("Is product definition active ?"),
                            fieldWithPath("[1].type").description("Type of transaction"),
                            fieldWithPath("[1].identifier").description("Action identifier"),
                            fieldWithPath("[1].name").description("Name of action"),
                            fieldWithPath("[1].description").description("Description of action"),
                            fieldWithPath("[1].currency.code").description("Currency's code"),
                            fieldWithPath("[1].currency.name").description("Currency's name"),
                            fieldWithPath("[1].currency.sign").description("Currency's sign"),
                            fieldWithPath("[1].currency.scale").type("Integer").description("Currency's scale"),
                            fieldWithPath("[1].minimumBalance").type("Double").description("Minimum Balance"),
                            fieldWithPath("[1].equityLedgerIdentifier").description("Equity Ledger Identifier"),
                            fieldWithPath("[1].cashAccountIdentifier").description("Cash Account"),
                            fieldWithPath("[1].expenseAccountIdentifier").description("Expense Account"),
                            fieldWithPath("[1].accrueAccountIdentifier").description("Accrue Account"),
                            fieldWithPath("[1].interest").type("Double").description("Interest"),
                            fieldWithPath("[1].term.period").type("Integer").description("Term period"),
                            fieldWithPath("[1].term.timeUnit").type("TimeUnit").description("Term time unit"),
                            fieldWithPath("[1].term.interestPayable").description("Term interest payable"),
                            fieldWithPath("[1].charges[].actionIdentifier").description("Charge first action"),
                            fieldWithPath("[1].charges[].incomeAccountIdentifier").description("first Charge income account"),
                            fieldWithPath("[1].charges[].name").description("Name of first charge"),
                            fieldWithPath("[1].charges[].proportional").description("Is charge proportional ?"),
                            fieldWithPath("[1].charges[].amount").type("Double").description("Amount of first charge"),
                            fieldWithPath("[1].charges[].description").type("String").description("Description of first charge"),
                            fieldWithPath("[1].charges[1].actionIdentifier").description("Charge second action"),
                            fieldWithPath("[1].charges[1].incomeAccountIdentifier").description("Charge income account"),
                            fieldWithPath("[1].charges[1].name").description("Name of second charge"),
                            fieldWithPath("[1].charges[1].proportional").description("Is charge proportional ?"),
                            fieldWithPath("[1].charges[1].description").type("String").description("Description of second charge"),
                            fieldWithPath("[1].charges[1].amount").type("Double").description("Amount of second charge"),
                            fieldWithPath("[1].flexible").description("Is product definition flexible ?"),
                            fieldWithPath("[1].active").description("Is product definition active ?")
                    )));
  }