in component-test/src/main/java/org/apache/fineract/cn/group/GroupApiDocumentation.java [78:156]
public void documentCreateGroup ( ) throws Exception {
final Cycle groupCycle = new Cycle();
groupCycle.setNumberOfMeetings(25);
groupCycle.setFrequency(Cycle.Frequency.MONTHLY.name());
groupCycle.setAdjustment(Cycle.Adjustment.NEXT_BUSINESS_DAY.name());
final GroupDefinition randomGroupDefinition = GroupDefinitionGenerator.createRandomGroupDefinition();
randomGroupDefinition.setIdentifier("grpDef101");
randomGroupDefinition.setDescription("Group Defininition 101");
randomGroupDefinition.setMinimalSize(Integer.valueOf(5));
randomGroupDefinition.setMaximalSize(Integer.valueOf(10));
randomGroupDefinition.setCycle(groupCycle);
this.testSubject.createGroupDefinition(randomGroupDefinition);
this.eventRecorder.wait(EventConstants.POST_GROUP_DEFINITION, randomGroupDefinition.getIdentifier());
Set <String> leadership = new HashSet <>();
leadership.add("Nditapa");
leadership.add("Imele");
Set <String> membership = new HashSet <>();
membership.add("Kamga");
membership.add("Ayuk");
membership.add("Awasum");
final Address address = new Address();
address.setStreet("Hospital");
address.setCity("Muyuka");
address.setRegion("SWR");
address.setPostalCode("8050");
address.setCountry("Cameroon");
address.setCountryCode("CM");
final Group randomGroup = GroupGenerator.createRandomGroup(randomGroupDefinition.getIdentifier());
randomGroup.setIdentifier("group001");
randomGroup.setGroupDefinitionIdentifier(randomGroupDefinition.getIdentifier());
randomGroup.setName("ARPOT Group");
randomGroup.setOffice("Bambui");
randomGroup.setAssignedEmployee("Tabah Tih");
randomGroup.setWeekday(Group.Weekday.WEDNESDAY.getValue());
randomGroup.setLeaders(leadership);
randomGroup.setMembers(membership);
randomGroup.setAddress(address);
Gson serialize = new Gson();
this.mockMvc.perform(post("/groups")
.accept(MediaType.APPLICATION_JSON_VALUE)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(serialize.toJson(randomGroup)))
.andExpect(status().isAccepted())
.andDo(document("document-create-group", preprocessRequest(prettyPrint()),
requestFields(
fieldWithPath("identifier").description("Group Id"),
fieldWithPath("groupDefinitionIdentifier").description("Group definition Id"),
fieldWithPath("name").description("Group's name"),
fieldWithPath("leaders").type("Set<String>").description("Group's leaders"),
fieldWithPath("members").type("Set<String>").description("Group's members"),
fieldWithPath("office").description("Group's office"),
fieldWithPath("assignedEmployee").description("Assigned Employee"),
fieldWithPath("weekday").type("Integer").description("Weekday for group meeting " +
" \n + " +
" *enum* _Weekday_ { + \n" +
" MONDAY(1), + \n" +
" TUESDAY(2), + \n" +
" WEDNESDAY(3), + \n" +
" THURSDAY(4), + \n" +
" FRIDAY(5), + \n" +
" SATURDAY(6), + \n" +
" SUNDAY(7) + \n " +
" } \n +"),
fieldWithPath("address.street").description("Office street"),
fieldWithPath("address.city").description("Office city"),
fieldWithPath("address.region").description("Office region"),
fieldWithPath("address.postalCode").description("Office postal code"),
fieldWithPath("address.countryCode").description("Office country code"),
fieldWithPath("address.country").description("Office country")
)));
}