Provisioning Integration Tests

This commit is contained in:
unknown
2015-12-24 13:29:57 +05:30
parent a17d5ab9df
commit 795bd4932c
7 changed files with 195 additions and 27 deletions
@@ -213,8 +213,13 @@ public class ProvisioningEntriesReadPlatformServiceImpl implements ProvisioningE
sqlBuilder.append("select SQL_CALC_FOUND_ROWS ");
sqlBuilder.append(mapper.getSchema());
sqlBuilder.append(" order by entry.created_date");
sqlBuilder.append(" limit ").append(limit);
sqlBuilder.append(" offset ").append(offset);
if(limit != null ) {
sqlBuilder.append(" limit ").append(limit);
}
if(offset != null) {
sqlBuilder.append(" offset ").append(offset);
}
final String sqlCountRows = "SELECT FOUND_ROWS()";
Object[] whereClauseItemsitems = new Object[] {};
return this.provisioningEntryDataPaginationHelper.fetchPage(this.jdbcTemplate, sqlCountRows, sqlBuilder.toString(),
@@ -29,6 +29,7 @@ import org.mifosplatform.infrastructure.core.api.JsonCommand;
import org.mifosplatform.infrastructure.core.data.CommandProcessingResult;
import org.mifosplatform.infrastructure.core.data.CommandProcessingResultBuilder;
import org.mifosplatform.infrastructure.core.serialization.FromJsonHelper;
import org.mifosplatform.infrastructure.core.service.DateUtils;
import org.mifosplatform.infrastructure.jobs.annotation.CronTarget;
import org.mifosplatform.infrastructure.jobs.service.JobName;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
@@ -142,9 +143,14 @@ public class ProvisioningEntriesWritePlatformServiceJpaRepositoryImpl implements
@Override
@CronTarget(jobName = JobName.GENERATE_LOANLOSS_PROVISIONING)
public void generateLoanLossProvisioningAmount() {
Date currentDate = new Date();
Date currentDate = DateUtils.getLocalDateOfTenant().toDate() ;
boolean addJournalEntries = true;
try {
Collection<ProvisioningCriteriaData> criteriaCollection = this.provisioningCriteriaReadPlatformService.retrieveAllProvisioningCriterias() ;
if(criteriaCollection == null || criteriaCollection.size() == 0){
return ;
//FIXME: Do we need to throw NoProvisioningCriteriaDefinitionFound()?
}
createProvsioningEntry(currentDate, addJournalEntries);
} catch (ProvisioningEntryAlreadyCreatedException peace) {} catch (DataIntegrityViolationException dive) {}
}
@@ -25,7 +25,7 @@ public interface ProvisioningCriteriaConstants {
public final static String JSON_LOAN_PRODUCT_BORROWERCYCLE_PARAM = "includeInBorrowerCycle" ;
public final static String JSON_PROVISIONING_DEFINITIONS_PARAM = "provisioningcriteria";
public final static String JSON_PROVISIONING_DEFINITIONS_PARAM = "definitions";
public final static String JSON_CATEOGRYID_PARAM = "categoryId";
@@ -54,7 +54,7 @@ public interface ProvisioningCriteriaConstants {
JSON_CATEOGRYNAME_PARAM, JSON_MINIMUM_AGE_PARAM, JSON_MAXIMUM_AGE_PARAM, JSON_MINIMUM_AGE_PARAM, JSON_PROVISIONING_PERCENTAGE_PARAM, JSON_EXPENSE_ACCOUNT_PARAM, JSON_LIABILITY_ACCOUNT_PARAM)) ;
Set<String> PROVISIONING_CRITERIA_TEMPLATE_PARAMETER = new HashSet<>(Arrays.asList("provisioninCriteria", "loanProducts",
Set<String> PROVISIONING_CRITERIA_TEMPLATE_PARAMETER = new HashSet<>(Arrays.asList("definitions", "loanProducts",
"glAccounts"));
Set<String> PROVISIONING_CRITERIA_PARAMETERS = new HashSet<>(Arrays.asList("criteriaName", "loanProducts",
@@ -18,9 +18,11 @@ import org.mifosplatform.infrastructure.core.service.RoutingDataSource;
import org.mifosplatform.organisation.provisioning.data.ProvisioningCategoryData;
import org.mifosplatform.organisation.provisioning.data.ProvisioningCriteriaData;
import org.mifosplatform.organisation.provisioning.data.ProvisioningCriteriaDefinitionData;
import org.mifosplatform.organisation.provisioning.exception.ProvisioningCriteriaNotFoundException;
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
import org.mifosplatform.portfolio.loanproduct.service.LoanProductReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
@@ -99,12 +101,17 @@ public class ProvisioningCriteriaReadPlatformServiceImpl implements Provisioning
@Override
public ProvisioningCriteriaData retrieveProvisioningCriteria(Long criteriaId) {
String criteriaName = retrieveCriteriaName(criteriaId);
Collection<LoanProductData> loanProducts = loanProductReaPlatformService
.retrieveAllLoanProductsForLookup("select product_id from m_loanproduct_provisioning_mapping where m_loanproduct_provisioning_mapping.criteria_id="
+ criteriaId);
List<ProvisioningCriteriaDefinitionData> definitions = retrieveProvisioningDefinitions(criteriaId);
return ProvisioningCriteriaData.toLookup(criteriaId, criteriaName, loanProducts, definitions);
try {
String criteriaName = retrieveCriteriaName(criteriaId);
Collection<LoanProductData> loanProducts = loanProductReaPlatformService
.retrieveAllLoanProductsForLookup("select product_id from m_loanproduct_provisioning_mapping where m_loanproduct_provisioning_mapping.criteria_id="
+ criteriaId);
List<ProvisioningCriteriaDefinitionData> definitions = retrieveProvisioningDefinitions(criteriaId);
return ProvisioningCriteriaData.toLookup(criteriaId, criteriaName, loanProducts, definitions);
}catch(EmptyResultDataAccessException e) {
throw new ProvisioningCriteriaNotFoundException(criteriaId) ;
}
}
private List<ProvisioningCriteriaDefinitionData> retrieveProvisioningDefinitions(Long criteriaId) {