/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mx.edu.um.mateo.colportor.dao; import java.util.List; import java.util.Map; import mx.edu.um.mateo.colportor.model.Ciudad; import mx.edu.um.mateo.colportor.model.Estado; import mx.edu.um.mateo.colportor.utils.UltimoException; import mx.edu.um.mateo.general.utils.Constantes; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.junit.*; import static org.junit.Assert.*; 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 gibrandemetrioo */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:mateo.xml", "classpath:security.xml"}) @Transactional public class CiudadDaoTest { private static final Logger log = LoggerFactory.getLogger(CiudadDaoTest.class); @Autowired private CiudadDao instance; @Autowired private SessionFactory sessionFactory; private Session currentSession() { return sessionFactory.getCurrentSession(); } public CiudadDaoTest() { } @BeforeClass public static void setUpClass() throws Exception { } @AfterClass public static void tearDownClass() throws Exception { } @Before public void setUp() { } @After public void tearDown() { } /** * Test of lista method, of class CiudadDao. */ @Test public void deberiaMostrarListaDeCiudad() { log.debug("Debiera mostrar lista de Ciudads"); Estado estado = new Estado(Constantes.NOMBRE); currentSession().save(estado); for (int i = 0; i < 20; i++) { Ciudad ciudad = new Ciudad(Constantes.NOMBRE + i); ciudad.setEstado(estado); currentSession().save(ciudad); assertNotNull(ciudad); } Map<String, Object> params = null; Map result = instance.lista(params); assertNotNull(result.get(Constantes.CIUDAD_LIST)); assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD)); assertEquals(10, ((List<Ciudad>) result.get(Constantes.CIUDAD_LIST)).size()); assertEquals(20, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue()); } /** * Test of obtiene method, of class CiudadDao. */ @Test public void debieraObtenerCiudad() { log.debug("Debiera obtener Ciudads"); Estado estado = new Estado(Constantes.NOMBRE); currentSession().save(estado); String nombre = "test"; Ciudad ciudad = new Ciudad(Constantes.NOMBRE); ciudad.setEstado(estado); currentSession().save(ciudad); assertNotNull(ciudad.getId()); Long id = ciudad.getId(); Ciudad result = instance.obtiene(id); assertNotNull(result); assertEquals(nombre, result.getNombre()); assertEquals(result, ciudad); } /** * Test of crea method, of class CiudadDao. */ @Test public void deberiaCrearCiudad() { log.debug("Deberia crear Ciudad"); Estado estado = new Estado(Constantes.NOMBRE); currentSession().save(estado); Ciudad ciudad = new Ciudad(Constantes.NOMBRE); ciudad.setEstado(estado); assertNotNull(ciudad); Ciudad ciudad2 = instance.crea(ciudad); assertNotNull(ciudad2); assertNotNull(ciudad2.getId()); assertEquals(ciudad, ciudad2); } /** * Test of actualiza method, of class CiudadDao. */ @Test public void deberiaActualizarCiudad() { log.debug("Deberia actualizar Ciudads"); Estado estado = new Estado(Constantes.NOMBRE); currentSession().save(estado); Ciudad ciudad = new Ciudad("test"); assertNotNull(ciudad); ciudad.setEstado(estado); currentSession().save(ciudad); String nombre = "test1"; ciudad.setNombre(nombre); Ciudad ciudad2 = instance.actualiza(ciudad); assertNotNull(ciudad2); assertEquals(nombre, ciudad.getNombre()); assertEquals(ciudad, ciudad2); } /** * Test of elimina method, of class CiudadDao. */ @Test public void deberiaEliminarCiudad() throws UltimoException { log.debug("Debiera eliminar Ciudad"); Estado estado = new Estado(Constantes.NOMBRE); currentSession().save(estado); String nom = "test"; Ciudad ciudad = new Ciudad(Constantes.NOMBRE); ciudad.setEstado(estado); currentSession().save(ciudad); assertNotNull(ciudad); String nombre = instance.elimina(ciudad.getId()); assertEquals(nom, nombre); Ciudad prueba = instance.obtiene(ciudad.getId()); if (prueba != null) { fail("Fallo prueba Eliminar"); } } }