public void shouldCreateAndEnableProduct()

in component-test/src/main/java/org/apache/fineract/cn/portfolio/TestProducts.java [56:103]


  public void shouldCreateAndEnableProduct() throws InterruptedException {
    final Product product = createAdjustedProduct(x -> {});

    final Product productAsSaved = portfolioManager.getProduct(product.getIdentifier());

    Assert.assertEquals(product, productAsSaved);
    Assert.assertFalse(productAsSaved.isEnabled());

    Assert.assertFalse(portfolioManager.getProductEnabled(product.getIdentifier()));

    {
      final ProductPage productsPage = portfolioManager.getProducts(true, null, 0, 100, null, null);
      Assert.assertTrue(productsPage.getElements().contains(productAsSaved));
    }

    {
      final ProductPage productsPage = portfolioManager.getProducts(true, product.getIdentifier().substring(2, 5), 0, 100, null, null);
      Assert.assertTrue(productsPage.getElements().contains(productAsSaved));
    }

    {
      final ProductPage productsPage = portfolioManager.getProducts(false, null, 0, 100, null, null);
      Assert.assertFalse(productsPage.getElements().contains(productAsSaved));
    }

    {
      final ProductPage productsPage = portfolioManager.getProducts(false, product.getIdentifier().substring(2, 5), 0, 100, null, null);
      Assert.assertFalse(productsPage.getElements().contains(productAsSaved));
    }

    portfolioManager.enableProduct(product.getIdentifier(), true);
    Assert.assertTrue(this.eventRecorder.wait(EventConstants.PUT_PRODUCT_ENABLE, product.getIdentifier()));

    final Product productAfterEnable = portfolioManager.getProduct(product.getIdentifier());

    Assert.assertTrue(productAfterEnable.isEnabled());
    Assert.assertTrue(portfolioManager.getProductEnabled(product.getIdentifier()));

    {
      final ProductPage productsPage = portfolioManager.getProducts(false, null, 0, 100, null, null);
      Assert.assertTrue(productsPage.getElements().contains(productAsSaved));
    }

    {
      final ProductPage productsPage = portfolioManager.getProducts(false, product.getIdentifier().substring(2, 5), 0, 100, null, null);
      Assert.assertTrue(productsPage.getElements().contains(productAsSaved));
    }
  }