public void documentGetBeatsForApplication()

in component-test/src/main/java/org/apache/fineract/cn/rhythm/RhythmApiDocumentation.java [146:186]


  public void documentGetBeatsForApplication ( ) throws InterruptedException {
    final String applicationIdentifier = "interestingbusiness-v1";
    final String oldBeatId = "oldBeatIdentifier789";
    final String newBeatId = "newBeatIdentifier456";

    final LocalDateTime nowOne = LocalDateTime.now(ZoneId.of("UTC"));
    int alignmentHourOne = nowOne.getHour();
    final LocalDateTime expectedBeatTimestamp = getExpectedBeatTimestamp(nowOne, alignmentHourOne);

    final LocalDateTime nowTwo = LocalDateTime.now(ZoneOffset.ofHours(2));
    int alignmentHourTwo = nowTwo.getHour();
    final LocalDateTime beatTimestamp = getExpectedBeatTimestamp(nowTwo, alignmentHourTwo);

    Mockito.doAnswer(new Returns(true)).when(super.beatPublisherServiceMock).publishBeat(
            Matchers.eq(oldBeatId),
            Matchers.eq(tenantDataStoreContext.getTenantName()),
            Matchers.eq(applicationIdentifier),
            Matchers.eq(expectedBeatTimestamp));

    final Beat firstBeat = createBeat(applicationIdentifier, oldBeatId, alignmentHourOne, expectedBeatTimestamp);
    final Beat secondBeat = createBeat(applicationIdentifier, newBeatId, alignmentHourTwo, beatTimestamp);

    try {
      this.mockMvc.perform(get("/applications/" + applicationIdentifier + "/beats/")
              .accept(MediaType.APPLICATION_JSON_VALUE)
              .contentType(MediaType.APPLICATION_JSON_VALUE)
              .header(TENANT_HEADER, tenantDataStoreContext.getTenantName()))
              .andExpect(status().isOk())
              .andDo(document(
                      "document-get-beats", preprocessRequest(prettyPrint()),
                      responseFields(
                              fieldWithPath("[].identifier").description("First Beat's Identifier"),
                              fieldWithPath("[].alignmentHour").description("First Beat's Alignment Hour"),
                              fieldWithPath("[1].identifier").description("Second Beat's Identifier"),
                              fieldWithPath("[1].alignmentHour").description("Second Beat's Alignment Hour")
                      )
              ));
    } catch (Exception e) {
      e.printStackTrace();
    }
  }