Skip to content

Commit

Permalink
Merge pull request #167 from Uniandes-isis2603/ramonVega
Browse files Browse the repository at this point in the history
Entrega 5 ciclo 3
  • Loading branch information
ramonvega96 authored May 17, 2017
2 parents 338a2f2 + c04295a commit 7cab025
Show file tree
Hide file tree
Showing 6 changed files with 375 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
package co.edu.uniandes.csw.paseos.test.logic;

import co.edu.uniandes.csw.paseos.ejbs.OfertaLogic;
import co.edu.uniandes.csw.paseos.entities.OfertaEntity;
import co.edu.uniandes.csw.paseos.exceptions.BusinessLogicException;
import co.edu.uniandes.csw.paseos.persistence.OfertaPersistence;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.UserTransaction;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import uk.co.jemos.podam.api.PodamFactory;
import uk.co.jemos.podam.api.PodamFactoryImpl;


@RunWith(Arquillian.class)
public class OfertaLogicTest{
public static final String DEPLOY = "PruebaOfertaLogic";

@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class, DEPLOY + ".war")
.addPackage(OfertaEntity.class.getPackage())
.addPackage(OfertaPersistence.class.getPackage())
.addPackage(OfertaLogic.class.getPackage())
.addAsResource("META-INF/persistence.xml", "META-INF/persistence.xml")
.addAsWebInfResource("META-INF/beans.xml", "beans.xml");
}



@Inject
private OfertaLogic ofertaLogic;

@PersistenceContext(unitName = "paseosPU")
private EntityManager em;

@Inject
UserTransaction utx;

/**
* Configuración inicial de la prueba.
*
* @generated
*/
@Before
public void configTest() {
try {
utx.begin();
clearData();
insertData();
utx.commit();
} catch (Exception e) {
e.printStackTrace();
try {
utx.rollback();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}

/**
* Limpia las tablas que están implicadas en la prueba.
*
* @generated
*/
private void clearData() {
em.createQuery("delete from OfertaEntity").executeUpdate();
}

/**
* @generated
*/
private List<OfertaEntity> data = new ArrayList<OfertaEntity>();

/**
* Inserta los datos iniciales para el correcto funcionamiento de las
* pruebas.
*
* @generated
*/
private void insertData() {
for (int i = 0; i < 3; i++) {
PodamFactory factory = new PodamFactoryImpl();
OfertaEntity entity = factory.manufacturePojo(OfertaEntity.class);

em.persist(entity);
data.add(entity);
}
}

/**
* Prueba para crear una oferta
*/
@Test
public void createOfertaTest() throws BusinessLogicException {
PodamFactory factory = new PodamFactoryImpl();
OfertaEntity entity = factory.manufacturePojo(OfertaEntity.class);
OfertaEntity result =null;
entity.setFecha(agregaDias(hoy,5));
result = ofertaLogic.createOferta(entity);

Assert.assertNotNull(result);
Assert.assertEquals(result.getFecha().getDay(), entity.getFecha().getDay());
Assert.assertEquals(result.getFecha().getMonth(), entity.getFecha().getMonth());
Assert.assertEquals(result.getFecha().getYear(), entity.getFecha().getYear());
Assert.assertEquals(result.getGuia(), entity.getGuia());
Assert.assertEquals(result.getPaseo(), entity.getPaseo());
}
/**
* Prueba para consultar una Oferta
*/
@Test
public void getOfertaTest() {
OfertaEntity entity = data.get(0);
OfertaEntity resultEntity= null ;
try {
resultEntity = ofertaLogic.getOferta(entity.getId());
} catch (BusinessLogicException ex) {
Assert.fail("No deberia generar excepción");
}
Assert.assertEquals(resultEntity.getFecha().getDay(), entity.getFecha().getDay());
Assert.assertEquals(resultEntity.getFecha().getMonth(), entity.getFecha().getMonth());
Assert.assertEquals(resultEntity.getFecha().getYear(), entity.getFecha().getYear());
Assert.assertEquals(resultEntity.getGuia(), entity.getGuia());
Assert.assertEquals(resultEntity.getPaseo(), entity.getPaseo());
}
/**
* Prueba encontrar un usuario que no existe
*/
@Test
public void getOfertaTest1() {
OfertaEntity entity = data.get(0);
OfertaEntity resultEntity= null ;
try {
resultEntity = ofertaLogic.getOferta(100L);
} catch (BusinessLogicException ex) {
Assert.assertEquals(1, 1);
}

}

/**
* Prueba para consultar la lista de ofertas
*/
@Test
public void getOfertasTest() {
List<OfertaEntity> list = ofertaLogic.getOfertas();
Assert.assertEquals(data.size(), list.size());
for (OfertaEntity entity : list) {
boolean found = false;
for (OfertaEntity storedEntity : data) {
if (entity.getId().equals(storedEntity.getId())) {
found = true;
}
}
Assert.assertTrue(found);
}
}

/**
* Prueba para eliminar una oferta
*/
@Test
public void deleteOfertaTest() {
OfertaEntity entity = data.get(0);
entity.setFecha(agregaDias(hoy,5));
em.persist(entity);
try {
ofertaLogic.deleteOferta(entity.getId());
} catch (BusinessLogicException ex) {
Assert.fail("No deberia generar excepción");
}
OfertaEntity deleted = em.find(OfertaEntity.class, entity.getId());
Assert.assertNull(deleted);
}

/**
* Prueba eliminar un usuario que no existe
*/
@Test
public void deleteOfertaTest1() {
OfertaEntity entity = data.get(0);
try {
ofertaLogic.deleteOferta(100L);
} catch (BusinessLogicException ex) {
Assert.assertEquals(1, 1);
}

}

/**
* Prueba para actualizar una oferta
*/
@Test
public void updateOfertaTest() throws BusinessLogicException {
OfertaEntity entity = data.get(0);
PodamFactory factory = new PodamFactoryImpl();
OfertaEntity pojoEntity = factory.manufacturePojo(OfertaEntity.class);
pojoEntity.setId(entity.getId());
pojoEntity.setFecha(agregaDias(hoy,5));
ofertaLogic.updateOferta(pojoEntity);

OfertaEntity resp = em.find(OfertaEntity.class, entity.getId());

Assert.assertEquals(pojoEntity.getFecha().getDay(), resp.getFecha().getDay());
Assert.assertEquals(pojoEntity.getFecha().getMonth(), resp.getFecha().getMonth());
Assert.assertEquals(pojoEntity.getFecha().getYear(), resp.getFecha().getYear());
Assert.assertEquals(pojoEntity.getGuia(), resp.getGuia());
Assert.assertEquals(pojoEntity.getPaseo(), resp.getPaseo());
}

private Date agregaDias(Date fecha, int dias) {
Calendar calendario = Calendar.getInstance();
calendario.setTime(fecha);
calendario.add(Calendar.DATE, dias);
return calendario.getTime();
}
Date hoy = new Date();
}
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public static WebArchive createDeployment() {
* @generated
*/
@Inject
private UsuarioLogic usuarioLogic;
private UsuarioLogic ofertaLogic;

/**
* @generated
Expand Down Expand Up @@ -153,7 +153,7 @@ public void createUsuarioTest() throws BusinessLogicException {
PodamFactory factory = new PodamFactoryImpl();
UsuarioEntity entity = factory.manufacturePojo(UsuarioEntity.class);
UsuarioEntity result =null;
result = usuarioLogic.createUsuario(entity);
result = ofertaLogic.createUsuario(entity);

Assert.assertNotNull(result);
Assert.assertEquals(result.getNombres(), entity.getNombres());
Expand Down Expand Up @@ -181,7 +181,7 @@ public void createUsuarioTest1() {
UsuarioEntity entity = factory.manufacturePojo(UsuarioEntity.class);
UsuarioEntity result =null;
entity.setLogin(data.get(0).getLogin());
result = usuarioLogic.createUsuario(entity);
result = ofertaLogic.createUsuario(entity);


} catch (BusinessLogicException ex) {
Expand All @@ -199,7 +199,7 @@ public void getUsuarioTest() {
UsuarioEntity entity = data.get(0);
UsuarioEntity resultEntity= null ;
try {
resultEntity = usuarioLogic.getUsuario(entity.getId());
resultEntity = ofertaLogic.getUsuario(entity.getId());
} catch (BusinessLogicException ex) {
Assert.fail("No deberia generar excepción");
}
Expand All @@ -220,7 +220,7 @@ public void getUsuarioTest1() {
UsuarioEntity entity = data.get(0);
UsuarioEntity resultEntity= null ;
try {
resultEntity = usuarioLogic.getUsuario(100L);
resultEntity = ofertaLogic.getUsuario(100L);
} catch (BusinessLogicException ex) {
Assert.assertEquals(1, 1);
}
Expand All @@ -234,7 +234,7 @@ public void getUsuarioTest1() {
*/
@Test
public void getUsuariosTest() {
List<UsuarioEntity> list = usuarioLogic.getUsuarios();
List<UsuarioEntity> list = ofertaLogic.getUsuarios();
Assert.assertEquals(data.size(), list.size());
for (UsuarioEntity entity : list) {
boolean found = false;
Expand All @@ -256,7 +256,7 @@ public void getUsuariosTest() {
public void deleteUsuarioTest() {
UsuarioEntity entity = data.get(0);
try {
usuarioLogic.deleteUsuario(entity.getId());
ofertaLogic.deleteUsuario(entity.getId());
} catch (BusinessLogicException ex) {
Assert.fail("No deberia generar excepción");
}
Expand All @@ -270,7 +270,7 @@ public void deleteUsuarioTest() {
public void deleteUsuarioTest1() {
UsuarioEntity entity = data.get(0);
try {
usuarioLogic.deleteUsuario(100L);
ofertaLogic.deleteUsuario(100L);
} catch (BusinessLogicException ex) {
Assert.assertEquals(1, 1);
}
Expand All @@ -289,7 +289,7 @@ public void updateUsuarioTest() throws BusinessLogicException {
UsuarioEntity pojoEntity = factory.manufacturePojo(UsuarioEntity.class);
pojoEntity.setId(entity.getId());

usuarioLogic.updateUsuario(pojoEntity);
ofertaLogic.updateUsuario(pojoEntity);

UsuarioEntity resp = em.find(UsuarioEntity.class, entity.getId());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,6 @@ public void createOfertaTest() {

/**
* Prueba para consultar la lista de Ofertas.
*
* @generated
*/
@Test
public void getOfertasTest() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public UsuarioResource()
}

@Inject
private UsuarioLogic usuarioLogic;
private UsuarioLogic ofertaLogic;

/**
* Convierte una lista de EmployeeEntity a una lista de EmployeeDetailDTO.
Expand Down Expand Up @@ -92,7 +92,7 @@ private List<UsuarioDetailDTO> listEntity2DTO(List<UsuarioEntity> entityList){
public List<UsuarioDetailDTO> getUsuarios() {
return listEntity2DTO(usuarioLogic.getUsuarios());
return listEntity2DTO(ofertaLogic.getUsuarios());
}
**/

Expand All @@ -107,7 +107,7 @@ public List<UsuarioDetailDTO> getUsuarios() {
@Path("/usuarios/{id: \\d+}")
// TODO: retornar una excepción / código 404 si no existe
public UsuarioDetailDTO getUsuario(@PathParam("id") Long id) throws BusinessLogicException {
return new UsuarioDetailDTO(usuarioLogic.getUsuario(id));
return new UsuarioDetailDTO(ofertaLogic.getUsuario(id));
}

/**
Expand All @@ -120,7 +120,7 @@ public UsuarioDetailDTO getUsuario(@PathParam("id") Long id) throws BusinessLogi
@POST
@Path("usuarios")
public UsuarioDTO createUsuario(UsuarioDTO dto) throws BusinessLogicException {
return new UsuarioDTO(usuarioLogic.createUsuario(dto.toEntity()));
return new UsuarioDTO(ofertaLogic.createUsuario(dto.toEntity()));
}

/**
Expand All @@ -136,7 +136,7 @@ public UsuarioDTO createUsuario(UsuarioDTO dto) throws BusinessLogicException {
public UsuarioDetailDTO updateUsuario(@PathParam("id") Long id, UsuarioDetailDTO dto) throws BusinessLogicException {
UsuarioEntity entity = dto.toEntity();
entity.setId(id);
return new UsuarioDetailDTO(usuarioLogic.updateUsuario(entity));
return new UsuarioDetailDTO(ofertaLogic.updateUsuario(entity));
}

/**
Expand All @@ -150,14 +150,14 @@ public UsuarioDetailDTO updateUsuario(@PathParam("id") Long id, UsuarioDetailDTO
@Path("usuarios/{id: \\d+}")

public void deleteUsuario(@PathParam("id") Long id) throws BusinessLogicException {
usuarioLogic.deleteUsuario(id);
ofertaLogic.deleteUsuario(id);
}

@GET
@Path("usuarios")
public List<UsuarioDetailDTO> getUsuariosGuias(@QueryParam("guias")int g ){
List<UsuarioDetailDTO> lista = new ArrayList<UsuarioDetailDTO>();
List<UsuarioDetailDTO> lista1 = listEntity2DTO(usuarioLogic.getUsuarios());
List<UsuarioDetailDTO> lista1 = listEntity2DTO(ofertaLogic.getUsuarios());
for (UsuarioDetailDTO usuario : lista1 )
{
if (usuario.getGuia()!=null)
Expand Down
Loading

0 comments on commit 7cab025

Please sign in to comment.