ItEr20S07CUIntroducionAvanceUnidadeTraballoItEr19S12: Adding method to PredefinedAdvanceTypes to retrieve the associated AdvanceType.
This commit is contained in:
parent
76fede6142
commit
20aa9f0d99
4 changed files with 71 additions and 0 deletions
|
|
@ -2,6 +2,7 @@ package org.navalplanner.business.advance.bootstrap;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import org.navalplanner.business.advance.daos.AdvanceDAORegistry;
|
||||
import org.navalplanner.business.advance.entities.AdvanceType;
|
||||
|
||||
public enum PredefinedAdvancedTypes {
|
||||
|
|
@ -30,4 +31,8 @@ public enum PredefinedAdvancedTypes {
|
|||
return name;
|
||||
}
|
||||
|
||||
public AdvanceType getType() {
|
||||
return AdvanceDAORegistry.getAdvanceTypeDao().findByName(name);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,4 +26,10 @@ public class AdvanceTypeDAO extends GenericDAOHibernate<AdvanceType, Long>
|
|||
throw convertHibernateAccessException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AdvanceType findByName(String name) {
|
||||
return (AdvanceType) getSession().createCriteria(AdvanceType.class)
|
||||
.add(Restrictions.eq("unitName", name)).uniqueResult();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,4 +10,6 @@ import org.navalplanner.business.common.daos.IGenericDAO;
|
|||
|
||||
public interface IAdvanceTypeDAO extends IGenericDAO<AdvanceType, Long>{
|
||||
public boolean existsNameAdvanceType(String unitName);
|
||||
|
||||
public AdvanceType findByName(String name);
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package org.navalplanner.business.test.advance.bootstrap;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
|
||||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.IDataBootstrap;
|
||||
import org.navalplanner.business.advance.bootstrap.DefaultAdvanceTypesBootstrapListener;
|
||||
import org.navalplanner.business.advance.bootstrap.PredefinedAdvancedTypes;
|
||||
import org.navalplanner.business.advance.daos.IAdvanceTypeDAO;
|
||||
import org.navalplanner.business.advance.entities.AdvanceType;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
|
||||
BUSINESS_SPRING_CONFIG_TEST_FILE })
|
||||
@Transactional
|
||||
public class DefaultAdvanceTypesBootstrapListenerTest {
|
||||
|
||||
@Autowired
|
||||
private Map<String, IDataBootstrap> dataBootstraps;
|
||||
|
||||
@Autowired
|
||||
private IAdvanceTypeDAO advanceTypeDAO;
|
||||
|
||||
private IDataBootstrap getAdvanceTypeBootstrap() {
|
||||
String simpleName = DefaultAdvanceTypesBootstrapListener.class
|
||||
.getSimpleName();
|
||||
return dataBootstraps.get(simpleName.substring(0, 1).toLowerCase()
|
||||
+ simpleName.substring(1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void theBootstrapensuresExistenceOfPredefinedAdvanceTypes() {
|
||||
getAdvanceTypeBootstrap().loadRequiredData();
|
||||
for (PredefinedAdvancedTypes p : PredefinedAdvancedTypes.values()) {
|
||||
advanceTypeDAO.existsNameAdvanceType(p.getTypeName());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getAdvanceTypeFromEnum() {
|
||||
getAdvanceTypeBootstrap().loadRequiredData();
|
||||
for (PredefinedAdvancedTypes p : PredefinedAdvancedTypes.values()) {
|
||||
AdvanceType advanceType = p.getType();
|
||||
assertThat(advanceType.getUnitName(), equalTo(p.getTypeName()));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue