/* * TODO problemas con el constructor * */ package mx.edu.um.mateo.colportor.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.colportor.model.Asociado; import mx.edu.um.mateo.colportor.model.Colportor; import mx.edu.um.mateo.colportor.model.Documento; import mx.edu.um.mateo.colportor.model.Temporada; import mx.edu.um.mateo.colportor.model.TemporadaColportor; import mx.edu.um.mateo.colportor.utils.UltimoException; 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 mx.edu.um.mateo.rh.model.Colegio; 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; import static org.junit.Assert.*; /** * * @author wilbert */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:mateo.xml", "classpath:security.xml"}) @Transactional public class DocumentoDaoTest extends BaseDaoTest { public static final String TIPO_DOCUMENTO = "A"; public static final String FOLIO = "test"; public static final BigDecimal IMPORTE = new BigDecimal("0.0"); public static final String OBSERVACIONES = "test teste"; @Autowired private DocumentoDao instance; @Test public void deberiaMostrarListaDeDocumento() { log.debug("Debiera mostrar lista de documento"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); for (int i = 0; i < 20; i++) { Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento); } Map<String, Object> params = new TreeMap<String, Object>(); params.put("temporadaColportor", temporadaColportor.getId()); params.put("empresa", colportor.getEmpresa().getId()); Map result = instance.lista(params); assertNotNull(result.get(Constantes.DOCUMENTOCOLPORTOR_LIST)); assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD)); assertEquals(10, ((List<Documento>) result.get(Constantes.DOCUMENTOCOLPORTOR_LIST)).size()); assertEquals(20, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue()); } @Test public void deberiaTraerListaVacia() { log.debug("Debiera traer lista Vacia"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); for (int i = 0; i < 20; i++) { Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento); } Map<String, Object> params = new TreeMap<String, Object>(); Map result = instance.lista(params); assertNotNull(result.get(Constantes.DOCUMENTOCOLPORTOR_LIST)); assertNotNull(result.get(Constantes.CONTAINSKEY_CANTIDAD)); assertEquals(0, ((List<Documento>) result.get(Constantes.DOCUMENTOCOLPORTOR_LIST)).size()); assertEquals(20, ((Long) result.get(Constantes.CONTAINSKEY_CANTIDAD)).intValue()); } @Test public void debieraObtenerDocumento() { log.debug("Debiera obtener documento"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento); Long id = documento.getId(); Documento result = instance.obtiene(id); assertNotNull(result); assertEquals(FOLIO, result.getFolio()); assertEquals(result, documento); } @Test public void deberiaCrearDocumento() { log.debug("Deberia crear Documento"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento.getId()); } @Test public void deberiaActualizarDocumento() { log.debug("Deberia actualizar Documento"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento.getId()); String folio = "test1"; documento.setFolio(folio); Documento documento2 = instance.actualiza(documento); assertNotNull(documento2); assertEquals(folio, documento.getFolio()); assertEquals(documento, documento2); } @Test public void deberiaEliminaralDocumento() throws UltimoException { log.debug("Debiera eliminar Documento"); Usuario colportor = obtieneColportor(); Usuario asociado = obtieneAsociado(colportor); Temporada temporada = new Temporada("test"); temporada.setOrganizacion(asociado.getEmpresa().getOrganizacion()); currentSession().save(temporada); assertNotNull(temporada.getId()); Colegio colegio = new Colegio("UM", Constantes.STATUS_ACTIVO); currentSession().save(colegio); TemporadaColportor temporadaColportor = new TemporadaColportor(Constantes.STATUS_ACTIVO, "TEST", "TEST"); temporadaColportor.setColportor((Colportor) colportor); temporadaColportor.setAsociado((Asociado) asociado); temporadaColportor.setTemporada(temporada); temporadaColportor.setColegio(colegio); currentSession().save(temporadaColportor); assertNotNull(temporadaColportor.getId()); Documento documento = new Documento(TIPO_DOCUMENTO, FOLIO, new Date(), IMPORTE, OBSERVACIONES, temporadaColportor); currentSession().save(documento); assertNotNull(documento.getId()); String folio = instance.elimina(documento.getId()); Documento prueba = instance.obtiene(documento.getId()); if (prueba != null) { fail("Fallo prueba Eliminar"); } } }