public void documentFindInstance()

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


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

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

    final ProductInstance productInstance = Fixture.productInstance(productDefinition.getIdentifier());

    super.depositAccountManager.create(productInstance);
    super.eventRecorder.wait(EventConstants.POST_PRODUCT_INSTANCE, productInstance.getCustomerIdentifier());

    final List <ProductInstance> productInstances = super.depositAccountManager.findProductInstances(productDefinition.getIdentifier());
    final ProductInstance foundProductInstance = productInstances.get(0);

    this.mockMvc.perform(get("/instances/" + foundProductInstance.getAccountIdentifier())
            .contentType(MediaType.ALL_VALUE)
            .accept(MediaType.APPLICATION_JSON_VALUE))
            .andExpect(status().isOk())
            .andDo(document("document-find-instance", preprocessResponse(prettyPrint()),
                    responseFields(
                            fieldWithPath("customerIdentifier").description("Customer Identifier"),
                            fieldWithPath("productIdentifier").description("Product identifier"),
                            fieldWithPath("accountIdentifier").description("Account Identifier"),
                            fieldWithPath("alternativeAccountNumber").type("String").description("Alternative account Number"),
                            fieldWithPath("beneficiaries").type("Set<String>").description("Set of beneficiaries"),
                            fieldWithPath("openedOn").type("String").description("Date product instance was opened"),
                            fieldWithPath("lastTransactionDate").type("String").description("Last transaction date"),
                            fieldWithPath("state").description("State of product"),
                            fieldWithPath("balance").type("Double").description("balance")
                    )));
  }