/*
* 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.List;
import java.util.Map;
import java.util.TreeMap;
import mx.edu.um.mateo.contabilidad.facturas.model.InformeEmpleado;
import mx.edu.um.mateo.contabilidad.facturas.model.InformeEmpleadoDetalle;
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.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 InformeProveedorDetallesDaoTest extends BaseDaoTest {
@Autowired
private InformeProveedorDetallesDao dao;
@Test
public void testListaCeros() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
InformeProveedorDetalle proveedorDetalle = null;
for (int i = 0; i < 20; i++) {
proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
}
Map<String, Object> params;
params = new TreeMap<>();
params.put("empresa", usuario.getEmpresa().getId());
// params.put("empresa", usuario.getEmpresa().getId());
Map<String, Object> result = dao.lista(params);
assertNotNull(result.get(Constantes.CONTAINSKEY_INFORMESPROVEEDOR_DETALLE));
assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD));
assertEquals(0, ((List<InformeEmpleado>) result.get(Constantes.CONTAINSKEY_INFORMESPROVEEDOR_DETALLE)).size());
assertEquals(0, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue());
}
@Test
public void testLista() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
InformeProveedorDetalle proveedorDetalle = null;
for (int i = 0; i < 20; i++) {
proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
}
Map<String, Object> params;
params = new TreeMap<>();
params.put("empresa", usuario.getEmpresa().getId());
params.put("informeProveedor", informeProveedor.getId());
Map<String, Object> result = dao.lista(params);
assertNotNull(result.get(Constantes.CONTAINSKEY_INFORMESPROVEEDOR_DETALLE));
assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD));
assertEquals(10, ((List<InformeEmpleado>) result.get(Constantes.CONTAINSKEY_INFORMESPROVEEDOR_DETALLE)).size());
assertEquals(20, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue());
}
@Test
public void testObtiene() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
// \\\\\\//////
//////\\\\\\
InformeProveedorDetalle proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
InformeProveedorDetalle detalle1 = dao.obtiene(proveedorDetalle.getId());
assertEquals(proveedorDetalle.getInformeProveedor(), detalle1.getInformeProveedor());
}
@Test
public void testCrea() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
// \\\\\\//////
//////\\\\\\
InformeProveedorDetalle proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
InformeProveedorDetalle detalle1 = dao.obtiene(proveedorDetalle.getId());
assertEquals(proveedorDetalle.getInformeProveedor(), detalle1.getInformeProveedor());
}
@Test
public void testActualiza() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
// \\\\\\//////
//////\\\\\\
InformeProveedorDetalle proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
InformeProveedorDetalle detalle1 = dao.obtiene(proveedorDetalle.getId());
assertEquals(proveedorDetalle.getInformeProveedor(), detalle1.getInformeProveedor());
detalle1.setFolioFactura("1110476");
dao.actualiza(detalle1, usuario);
currentSession().refresh(proveedorDetalle);
assertEquals("1110476", proveedorDetalle.getFolioFactura());
}
@Test
public void testElimina() {
ProveedorFacturas usuario = (ProveedorFacturas) obtieneProveedor();
InformeProveedor informeProveedor = new InformeProveedor();
informeProveedor = new InformeProveedor();
informeProveedor.setEmpresa(usuario.getEmpresa());
informeProveedor.setFechaInforme(new Date());
informeProveedor.setNombreProveedor("LAla");
informeProveedor.setStatus("A");
informeProveedor.setProveedorFacturas(usuario);
currentSession().save(informeProveedor);
assertNotNull(informeProveedor.getId());
// \\\\\\//////
//////\\\\\\
InformeProveedorDetalle proveedorDetalle = new InformeProveedorDetalle();
proveedorDetalle.setInformeProveedor(informeProveedor);
proveedorDetalle.setFechaFactura(new Date());
proveedorDetalle.setFolioFactura("1110475");
proveedorDetalle.setIVA(new BigDecimal(".16"));
proveedorDetalle.setNombreProveedor("Lala");
proveedorDetalle.setPathPDF("prueba.pdf");
proveedorDetalle.setPathXMl("prueba.xml");
proveedorDetalle.setRFCProveedor("1147hgas40q");
proveedorDetalle.setSubtotal(new BigDecimal("223"));
proveedorDetalle.setTotal(new BigDecimal("250"));
dao.crea(proveedorDetalle, usuario);
assertNotNull(proveedorDetalle.getId());
String proveedor = dao.elimina(proveedorDetalle.getId());
assertEquals(proveedor, proveedorDetalle.getNombreProveedor());
InformeProveedorDetalle detalle1 = dao.obtiene(proveedorDetalle.getId());
if ("A".equals(proveedorDetalle.getStatus())) {
fail("Se encontro el informe " + detalle1);
} else {
log.debug("Se elimino con exito el informe con nomina: {}", proveedor);
}
}
}