コード例 #1
0
  @Test
  public void shouldInitializePaginationOptionWithOffset0ForFirstPage() {
    Map<String, String> parameters = new HashMap<>();
    Paginator paginator = new Paginator(parameters, scheme, parser);

    when(scheme.nextPage(eq(parameters), any(Page.class))).thenReturn("testresponse");
    when(parser.parse("testresponse"))
        .thenReturn(new PaginatedResponse(null, new PaginatedResponseMeta(null, null, null, 0)));
    paginator.nextPage();

    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme).nextPage(eq(parameters), optionCaptor.capture());
    Page paginationOption = optionCaptor.getValue();
    assertEquals(100, paginationOption.getLimit());
    assertEquals(0, paginationOption.getOffset());
  }
コード例 #2
0
  @Test
  public void shouldOverrideDefaultLimitAndOffsetIfProvidedInParams() {

    Map<String, String> parameters =
        new HashMap<String, String>() {
          {
            put(Constants.OFFSET, "2000");
            put(Constants.LIMIT, "1000");
          }
        };
    Paginator paginator = new Paginator(parameters, scheme, parser);
    when(scheme.nextPage(eq(parameters), any(Page.class))).thenReturn("testresponse");
    when(parser.parse("testresponse"))
        .thenReturn(new PaginatedResponse(null, new PaginatedResponseMeta(null, null, null, 0)));
    paginator.nextPage();

    paginator.nextPage();
    ArgumentCaptor<Page> optionCaptor = ArgumentCaptor.forClass(Page.class);
    verify(scheme).nextPage(eq(parameters), optionCaptor.capture());

    assertEquals(2000, optionCaptor.getValue().getOffset());
    assertEquals(1000, optionCaptor.getValue().getLimit());
  }