in component-test/src/main/java/org/apache/fineract/cn/customer/catalog/TestCatalog.java [279:309]
public void shouldNotDeleteField() throws Exception {
final Catalog catalog = CatalogGenerator.createRandomCatalog();
this.catalogManager.createCatalog(catalog);
this.eventRecorder.wait(CatalogEventConstants.POST_CATALOG, catalog.getIdentifier());
final Customer randomCustomer = CustomerGenerator.createRandomCustomer();
randomCustomer.setCustomValues(catalog.getFields()
.stream()
.map(field -> {
final Value value = new Value();
value.setCatalogIdentifier(catalog.getIdentifier());
value.setFieldIdentifier(field.getIdentifier());
switch (Field.DataType.valueOf(field.getDataType())) {
case NUMBER:
value.setValue("37.00");
break;
case SINGLE_SELECTION:
value.setValue("1");
}
return value;
})
.collect(Collectors.toList())
);
this.customerManager.createCustomer(randomCustomer);
this.eventRecorder.wait(CustomerEventConstants.POST_CUSTOMER, randomCustomer.getIdentifier());
final Optional<Field> optionalField = catalog.getFields().stream().findFirst();
optionalField.ifPresent(field -> this.catalogManager.deleteField(catalog.getIdentifier(), field.getIdentifier()));
}