/*
* Copyright (c) 2005-2011 Grameen Foundation USA
* All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*
* See also http://www.apache.org/licenses/LICENSE-2.0.html for an
* explanation of the license and how it is applied.
*/
package org.mifos.config.persistence;
import java.util.List;
import java.util.Set;
import junit.framework.Assert;
import org.apache.commons.lang.StringUtils;
import org.junit.Test;
import org.mifos.application.master.business.LookUpEntity;
import org.mifos.application.master.business.LookUpLabelEntity;
import org.mifos.framework.MifosIntegrationTestCase;
import org.springframework.beans.factory.annotation.Autowired;
public class ApplicationConfigurationPersistenceIntegrationTest extends MifosIntegrationTestCase {
@Autowired
private ApplicationConfigurationDao applicationConfigurationDao;
/*
* Check that we can can retrieve LookupEntities and enforce the conventions: LookupEntity names cannot contain
* whitespace LookupEntities should not have more than 1 label
*/
@Test
public void testGetLookupEntities() {
List<LookUpEntity> entities = applicationConfigurationDao.findLookupEntities();
Assert.assertNotNull(entities);
// Enforce that no entity names contain whitespace
for (LookUpEntity entity : entities) {
Assert.assertEquals(StringUtils.deleteWhitespace(entity.getEntityType()), entity.getEntityType());
Set<LookUpLabelEntity> labels = entity.getLookUpLabels();
// Enforce that each entity has 0 or 1 labels and not more
Assert.assertTrue(labels.size() <= 1);
for (LookUpLabelEntity label : labels) {
// if (entity.getEntityType().equals("Client")) {
// Assert.assertEquals("Client", label.getLabelText());
// }
}
}
}
@Test
public void testGetLookupValues() {
Assert.assertNotNull(applicationConfigurationDao.findLookupValues());
}
/*
* 2007/12/24 Code in progress to test dumping of database strings to properties files.
*/
/*
* @Test
public void testDump() { List<LookUpEntity> entities=null; try { Session session =
* StaticHibernateUtil.getSessionTL(); entities = session.getNamedQuery( NamedQueryConstants.GET_ENTITIES).list();
*
* for (LookUpEntity entity : entities) { Set<LookUpLabelEntity> labels = entity.getLookUpLabels(); for
* (LookUpLabelEntity label : labels) { System.out.println(entity.getEntityType() + ".Label = " +
* label.getLabelText()); } }
*
* // for (LookUpEntity entity : entities) { // Set<LookUpValueEntity> values = entity.getLookUpValues(); //
* List<LookUpValueEntity> valuesList = new ArrayList<LookUpValueEntity>(); // valuesList.addAll(values); //
* Collections.sort(valuesList, new Comparator<LookUpValueEntity>() { // public int compare(LookUpValueEntity v1,
* LookUpValueEntity v2) { // return v1.getLookUpId().compareTo(v2.getLookUpId()); // } // }); // // int index = 0;
* // for (LookUpValueEntity lookupValue : valuesList) { // Set<LookUpValueLocaleEntity> localeValues =
* lookupValue.getLookUpValueLocales(); // for (LookUpValueLocaleEntity locale : localeValues) { // if
* (locale.getLocaleId() == 1) { // String name =
* SearchUtils.deleteWhitespace(WordUtils.capitalize(locale.getLookUpValue ().toLowerCase().replaceAll("\\W"," ")));
* // //System.out.println(entity.getEntityType() + "." + index++ + "." + name + " = " + locale.getLookUpValue());
* // System.out.println(entity.getEntityType() + "." + lookupValue.getLookUpName() + " = " +
* locale.getLookUpValue()); // } // } // } // }
*
* } finally { StaticHibernateUtil.flushSession(); }
*
* }
*/
}