/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mx.edu.um.mateo.rh.dao; import java.util.Map; import java.util.TreeMap; import java.util.logging.Level; import mx.edu.um.mateo.general.model.Empresa; import mx.edu.um.mateo.general.model.Organizacion; import mx.edu.um.mateo.general.utils.ObjectRetrievalFailureException; import mx.edu.um.mateo.rh.model.Concepto; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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; /** * * @author AMDA */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:mateo.xml", "classpath:security.xml"}) @Transactional public class ConceptoDaoTest { @Autowired private ConceptoDao conceptoDao; private static final Logger log = LoggerFactory.getLogger(ConceptoDaoTest.class); @Autowired private SessionFactory sessionFactory; private Session currentSession() { return sessionFactory.getCurrentSession(); } public ConceptoDaoTest() { } @Test public void testObtenerListaDeConceptos() { Map<String, Object> params = new TreeMap(); Concepto c = null; Organizacion organizacion = new Organizacion("tst-01", "test-01", "test-01"); currentSession().save(organizacion); Empresa empresa = new Empresa("tst-01", "test-01", "test-01", "000000000001", organizacion); currentSession().save(empresa); for (int i = 0; i < 5; i++) { c = new Concepto(); c.setDescripcion("test" + i); c.setNombre("a"+i); c.setStatus("A"); c.setTags("tag"); c.setEmpresa(empresa); currentSession().save(c); //assertNotNull(c.getId()); } params = conceptoDao.lista(params); //assertNotNull((List)params.get(Constantes.CONCEPTO_LIST)); //assertEquals(5,((List)params.get(Constantes.CONCEPTO_LIST)).size()); } @Test public void testObtieneConcepto() throws ObjectRetrievalFailureException { Concepto concepto = new Concepto(); concepto.setDescripcion("test"); concepto.setNombre("a"); concepto.setStatus("A"); concepto.setTags("tag"); currentSession().save(concepto); Concepto concepto1 = conceptoDao.obtiene(concepto.getId()); //assertEquals(concepto.getId(), concepto1.getId()); } @Test public void testGrabaConcepto() { log.debug("entrando a graba concepto"); Concepto concepto = new Concepto(); concepto.setDescripcion("test"); concepto.setNombre("a"); concepto.setStatus("A"); concepto.setTags("tag"); conceptoDao.graba(concepto, null); //assertNotNull(concepto.getId()); if(concepto.getId()==null){ log.error("no graba"); } log.debug("concepto{}",concepto.getId()); try { log.debug("concepto{}",conceptoDao.obtiene(concepto.getId())); } catch (ObjectRetrievalFailureException ex) { java.util.logging.Logger.getLogger(ConceptoDaoTest.class.getName()).log(Level.SEVERE, null, ex); } } @Test public void testEliminaConcepto() { Concepto concepto = new Concepto(); concepto.setDescripcion("test"); concepto.setNombre("a"); concepto.setStatus("A"); concepto.setTags("tag"); currentSession().save(concepto); try { String nombre = conceptoDao.elimina(concepto.getId()); } catch (ObjectRetrievalFailureException ex) { log.error("No existe concepto"); } try { concepto = conceptoDao.obtiene(concepto.getId()); //fail("Fallo al eliminar"); } catch (ObjectRetrievalFailureException ex) { log.info("Elimino con exito"); } } }