in component-test/src/main/java/org/apache/fineract/cn/customer/IdentificationApiDocumentation.java [80:164]
public void documentFetchIdCards ( ) throws Exception {
final String customerIdentifier = this.createCustomer();
IdentificationCard NiDCard = IdentificationCardGenerator.createRandomIdentificationCard();
ExpirationDate exp = new ExpirationDate();
exp.setYear(2028);
exp.setMonth(5);
exp.setDay(23);
NiDCard.setType("National");
NiDCard.setNumber("07235388");
NiDCard.setExpirationDate(exp);
NiDCard.setIssuer("NDNS");
NiDCard.setCreatedBy("Nakuve L.");
NiDCard.setCreatedOn("2018/5/23");
NiDCard.setLastModifiedBy("Chi Tih");
NiDCard.setLastModifiedOn(LocalDate.now().toString());
IdentificationCard SchoolId = IdentificationCardGenerator.createRandomIdentificationCard();
ExpirationDate ex = new ExpirationDate();
ex.setYear(2019);
ex.setMonth(10);
ex.setDay(7);
SchoolId.setType("University");
SchoolId.setNumber("SC10A123");
SchoolId.setExpirationDate(ex);
SchoolId.setIssuer("UB");
SchoolId.setCreatedBy("Ndip Ndip");
SchoolId.setCreatedOn("2010/12/10");
SchoolId.setLastModifiedBy("Chi Tih");
SchoolId.setLastModifiedOn(LocalDate.now().toString());
Stream.of(NiDCard, SchoolId)
.forEach(identificationCard -> {
this.customerManager.createIdentificationCard(customerIdentifier, identificationCard);
try {
this.eventRecorder.wait(CustomerEventConstants.POST_IDENTIFICATION_CARD, identificationCard.getNumber());
} catch (final InterruptedException exception) {
Assert.fail(exception.getMessage());
}
});
final List <IdentificationCard> cards = this.customerManager.fetchIdentificationCards(customerIdentifier);
System.out.println("Number of cards is " + cards.size());
Assert.assertTrue(cards.size() == 2);
this.mockMvc.perform(get("/customers/" + customerIdentifier + "/identifications")
.contentType(MediaType.APPLICATION_JSON_VALUE)
.accept(MediaType.ALL_VALUE))
.andExpect(status().isOk())
.andDo(document("document-fetch-id-cards", preprocessRequest(prettyPrint()),
preprocessResponse(prettyPrint()),
responseFields(
fieldWithPath("[].type").description("type of first card"),
fieldWithPath("[].number").description("Number on first card"),
fieldWithPath("[].expirationDate").type("ExpirationDate").description("expiry date of first card +\n" +
" +\n" +
" *class* _ExpirationDate_ { +\n" +
" *Integer* year, +\n" +
" *Integer* month, +\n" +
" *Integer* day, +\n" +
"} +"),
fieldWithPath("[].issuer").description("issuer of first card"),
fieldWithPath("[].createdBy").description("creator of first card"),
fieldWithPath("[].createdOn").description("date of creation of first card "),
fieldWithPath("[].lastModifiedBy").type("String").description("employee who last modified first card"),
fieldWithPath("[].lastModifiedOn").type("String").description("date when first card was lastly modified"),
fieldWithPath("[1].type").description("type of second card"),
fieldWithPath("[1].number").description("Number of second card"),
fieldWithPath("[1].expirationDate").type("ExpirationDate").description("expiry date of second card +\n" +
" +\n" +
" *class* _ExpirationDate_ { +\n" +
" *Integer* year, +\n" +
" *Integer* month, +\n" +
" *Integer* day, +\n" +
"} +"),
fieldWithPath("[1].issuer").description("issuer of second card"),
fieldWithPath("[1].createdBy").description("creator of second card"),
fieldWithPath("[1].createdOn").description("date of creation of second card"),
fieldWithPath("[1].lastModifiedBy").type("String").description("employee who last modified second card"),
fieldWithPath("[1].lastModifiedOn").type("String").description("date when second cards was lastly modified"))));
}