public void shouldReturnIndividualLoansCases()

in component-test/src/main/java/org/apache/fineract/cn/portfolio/TestIndividualLoans.java [46:84]


  public void shouldReturnIndividualLoansCases() throws InterruptedException {
    Mockito.doReturn(true).when(customerManager).isCustomerInGoodStanding("susi");
    Mockito.doReturn(true).when(customerManager).isCustomerInGoodStanding("george");
    Mockito.doReturn(true).when(customerManager).isCustomerInGoodStanding("harold");
    final Product product = createAndEnableProduct();
    final Set<String> susisCaseIdentifiers = new HashSet<>();
    final Set<String> georgeCaseIdentifiers = new HashSet<>();
    for (int i = 0; i < 101; i++) {
      susisCaseIdentifiers.add(createCaseForCustomer(product.getIdentifier(), "susi").getIdentifier());
    }
    for (int i = 0; i < 82; i++) {
      georgeCaseIdentifiers.add(createCaseForCustomer(product.getIdentifier(), "george").getIdentifier());
    }

    final IndividualLending individualLending = this.individualLending;

    final Set<String> foundSusisCaseIdentifiers = new HashSet<>();
    for (int i = 0; i < 11; i++) {
      final CasePage page = individualLending.getAllCasesForCustomer("susi", i, 10);
      Assert.assertEquals(101, page.getTotalElements().longValue());
      Assert.assertEquals(11, page.getTotalPages().longValue());
      page.getElements().forEach(x -> foundSusisCaseIdentifiers.add(x.getIdentifier()));
    }
    Assert.assertEquals(susisCaseIdentifiers, foundSusisCaseIdentifiers);

    final Set<String> foundGeorgeCaseIdentifiers = new HashSet<>();
    for (int i = 0; i < 82; i++) {
      final CasePage page = individualLending.getAllCasesForCustomer("george", i, 1);
      Assert.assertEquals(82, page.getTotalElements().longValue());
      Assert.assertEquals(82, page.getTotalPages().longValue());
      page.getElements().forEach(x -> foundGeorgeCaseIdentifiers.add(x.getIdentifier()));
    }
    Assert.assertEquals(georgeCaseIdentifiers, foundGeorgeCaseIdentifiers);

    final CasePage page = individualLending.getAllCasesForCustomer("harold", 1, 1);
    Assert.assertEquals(0, page.getTotalElements().longValue());
    Assert.assertEquals(0, page.getTotalPages().longValue());
    Assert.assertEquals(0, page.getElements().size());
  }