/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mx.edu.um.mateo.contabilidad.facturas.dao; import java.math.BigDecimal; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; import mx.edu.um.mateo.contabilidad.facturas.model.InformeEmpleado; import mx.edu.um.mateo.contabilidad.facturas.model.InformeProveedor; import mx.edu.um.mateo.contabilidad.facturas.model.InformeProveedorDetalle; import mx.edu.um.mateo.contabilidad.facturas.model.ProveedorFacturas; import mx.edu.um.mateo.general.dao.RolDao; import mx.edu.um.mateo.general.model.Rol; import mx.edu.um.mateo.general.model.Usuario; import mx.edu.um.mateo.general.test.BaseDaoTest; import mx.edu.um.mateo.general.utils.Constantes; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import org.junit.Test; import org.junit.runner.RunWith; 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 develop */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:mateo.xml", "classpath:security.xml"}) @Transactional public class ProveedorFacturasDaoTest extends BaseDaoTest { @Autowired private ProveedorFacturasDao dao; @Autowired private RolDao rolDao; @Test public void testLista() { Usuario usuario = this.obtieneUsuario(); ProveedorFacturas proveedorFacturas = null; Rol rol = new Rol("ROLE_PRV"); currentSession().save(rol); Set rolesPrv = new HashSet(); rolesPrv.add(rolDao.obtiene("ROLE_PRV")); for (int i = 0; i < 20; i++) { proveedorFacturas = new ProveedorFacturas("testA" + i, "TEST-01", "nombre", "appaterno", "apmaterno", "test" + i + "@prv.edu.mx", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "TEST-01", "a", "TEST-01"); proveedorFacturas.setAlmacen(usuario.getAlmacen()); proveedorFacturas.setRoles(rolesPrv); dao.crea(proveedorFacturas, usuario); assertNotNull(proveedorFacturas.getId()); } Map<String, Object> params; params = new TreeMap<>(); params.put("empresa", usuario.getEmpresa().getId()); Map<String, Object> result = dao.lista(params); assertNotNull(result.get(Constantes.CONTAINSKEY_PROVEEDORESFACTURAS)); assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD)); assertEquals(10, ((List<InformeEmpleado>) result.get(Constantes.CONTAINSKEY_PROVEEDORESFACTURAS)).size()); assertEquals(20, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue()); } @Test public void testObtiene() { ProveedorFacturas proveedorFacturas = (ProveedorFacturas) obtieneProveedor(); dao.crea(proveedorFacturas, proveedorFacturas); assertNotNull(proveedorFacturas.getId()); ProveedorFacturas proveedorFacturas1 = dao.obtiene(proveedorFacturas.getId()); assertEquals(proveedorFacturas.getBanco(), proveedorFacturas1.getBanco()); } @Test public void testCrea() { ProveedorFacturas proveedorFacturas = (ProveedorFacturas) obtieneProveedor(); dao.crea(proveedorFacturas, proveedorFacturas); assertNotNull(proveedorFacturas.getId()); // assertNotNull(proveedorFacturas.getEjercicio().getId()); ProveedorFacturas proveedorFacturas1 = dao.obtiene(proveedorFacturas.getId()); assertEquals(proveedorFacturas.getBanco(), proveedorFacturas1.getBanco()); } @Test public void testActualiza() { ProveedorFacturas proveedorFacturas = (ProveedorFacturas) obtieneProveedor(); dao.crea(proveedorFacturas, proveedorFacturas); assertNotNull(proveedorFacturas.getId()); ProveedorFacturas proveedorFacturas1 = dao.obtiene(proveedorFacturas.getId()); assertEquals(proveedorFacturas.getBanco(), proveedorFacturas1.getBanco()); proveedorFacturas1.setBanco("banco1"); dao.actualiza(proveedorFacturas1, proveedorFacturas1); currentSession().refresh(proveedorFacturas); assertEquals(proveedorFacturas.getBanco(), "banco1"); } @Test public void testElimina() { ProveedorFacturas proveedorFacturas = (ProveedorFacturas) obtieneProveedor(); dao.crea(proveedorFacturas, proveedorFacturas); assertNotNull(proveedorFacturas.getId()); String rfc = dao.elimina(proveedorFacturas.getId()); assertEquals(rfc, proveedorFacturas.getRfc()); if ("A".equals(proveedorFacturas.getStatus())) { fail("Se encontro el proveedor con rfc " + rfc); } else { log.debug("Se elimino con exito el proveedor con rfc: {}", rfc); } } }