Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package py.com.personal.bc.business.test;
- import java.util.ArrayList;
- import java.util.List;
- import javax.inject.Inject;
- import junit.framework.Assert;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import py.com.personal.bc.calendario.dao.CalendarioMDAO;
- import py.com.personal.bc.calendario.model.BandaHoraria;
- import py.com.personal.bc.calendario.model.Calendario;
- import py.com.personal.bc.calendario.model.FranjaHoraria;
- import py.com.personal.bc.common.transactions.voltdb.util.loader.LoadSettings;
- import py.com.personal.bc.falcon.testing.voltdb.EscenarioSetter;
- import py.com.personal.bc.falcon.testing.voltdb.Validador;
- import py.com.personal.bc.falcon.testing.voltdb.exceptions.EscenarioLoadException;
- import py.com.personal.bc.testingse.runner.CDIJUnitRunner;
- import py.com.personal.bc.testingse.util.RequiresThreadScope;
- import py.com.personal.bc.voltdb.utils.mapper.MapConfig;
- import com.fasterxml.jackson.databind.DeserializationFeature;
- import com.fasterxml.jackson.databind.ObjectMapper;
- @RequiresThreadScope
- @RunWith(CDIJUnitRunner.class)
- public class CalendarioTest {
- @Inject
- CalendarioBusinessTransaccion calendarioBusiness;
- @Inject
- private EscenarioSetter escenarioSetter;
- @Inject
- private Validador validador;
- @Inject
- private Logger logger;
- @Test
- public void updateCalendarioTest() throws Exception {
- logger.info("--- Test Update Calendario ---");
- /**
- * Caso de prueba: Actualizar un calendario existente
- */
- escenarioSetter.init("/test_data/escenarios/calendario/calendarioUpdate.json");
- Calendario r = calendarioBusiness.traerCalendario(1);
- r.setDescripcion("CALENDARIO TEST MOD");
- calendarioBusiness.update(r);
- validador.validar("/test_data/validaciones/calendario/afterCalendarioUpdate.json", true);
- /**
- * Caso de prueba: No se puede actualizar un registro inexistente
- */
- Calendario cal = new Calendario();
- cal.setNumeroCalendario(-1);
- try{
- calendarioBusiness.update(cal);
- } catch(Exception e){
- Assert.assertTrue(e.getMessage() != null && e.getMessage().equalsIgnoreCase("El calendario no existe."));
- }
- }
- @Test
- public void insertCalendarioTest () throws Exception {
- /**
- * Caso de prueba: Insertar un calendario con bandas y franjas
- */
- escenarioSetter.init("/test_data/escenarios/calendario/calendarioInsert.json");
- Calendario nuevo = new Calendario();
- nuevo.setNumeroCalendario(1);
- nuevo.setDescripcion("CALENDARIO INSERT TEST");
- BandaHoraria bh1 = new BandaHoraria();
- bh1.setDescripcion("CALENDARIO INSERT TEST");
- bh1.setNumeroBandaHoraria(1);
- bh1.setNumeroCalendario(1);
- BandaHoraria bh2 = new BandaHoraria();
- bh2.setDescripcion("CALENDARIO INSERT TEST");
- bh2.setNumeroBandaHoraria(2);
- bh2.setNumeroCalendario(1);
- List<BandaHoraria> listaBandas = new ArrayList<BandaHoraria>();
- listaBandas.add(bh1);
- listaBandas.add(bh2);
- nuevo.setBandasHorarias(listaBandas);
- FranjaHoraria fh1 = new FranjaHoraria();
- fh1.setNumeroCalendario(1);
- fh1.setNumeroBandaHoraria(1);
- fh1.setNumeroDiaSemana((byte) 1);
- fh1.setHoraInicio("00:00:00");
- fh1.setHoraFin("05:59:59");
- FranjaHoraria fh2 = new FranjaHoraria();
- fh2.setNumeroCalendario(1);
- fh2.setNumeroBandaHoraria(2);
- fh2.setNumeroDiaSemana((byte) 1);
- fh2.setHoraInicio("06:00:00");
- fh2.setHoraFin("20:59:59");
- FranjaHoraria fh3 = new FranjaHoraria();
- fh3.setNumeroCalendario(1);
- fh3.setNumeroBandaHoraria(1);
- fh3.setNumeroDiaSemana((byte) 1);
- fh3.setHoraInicio("21:00:00");
- fh3.setHoraFin("23:59:59");
- FranjaHoraria fh4 = new FranjaHoraria();
- fh4.setNumeroCalendario(1);
- fh4.setNumeroBandaHoraria(2);
- fh4.setNumeroDiaSemana((byte) 2);
- fh4.setHoraInicio("00:00:00");
- fh4.setHoraFin("23:59:59");
- FranjaHoraria fh5 = new FranjaHoraria();
- fh5.setNumeroCalendario(1);
- fh5.setNumeroBandaHoraria(1);
- fh5.setNumeroDiaSemana((byte) 3);
- fh5.setHoraInicio("00:00:00");
- fh5.setHoraFin("23:59:59");
- FranjaHoraria fh6 = new FranjaHoraria();
- fh6.setNumeroCalendario(1);
- fh6.setNumeroBandaHoraria(2);
- fh6.setNumeroDiaSemana((byte) 4);
- fh6.setHoraInicio("00:00:00");
- fh6.setHoraFin("23:59:59");
- FranjaHoraria fh7 = new FranjaHoraria();
- fh7.setNumeroCalendario(1);
- fh7.setNumeroBandaHoraria(1);
- fh7.setNumeroDiaSemana((byte) 5);
- fh7.setHoraInicio("00:00:00");
- fh7.setHoraFin("23:59:59");
- FranjaHoraria fh8 = new FranjaHoraria();
- fh8.setNumeroCalendario(1);
- fh8.setNumeroBandaHoraria(2);
- fh8.setNumeroDiaSemana((byte) 6);
- fh8.setHoraInicio("00:00:00");
- fh8.setHoraFin("23:59:59");
- FranjaHoraria fh9 = new FranjaHoraria();
- fh9.setNumeroCalendario(1);
- fh9.setNumeroBandaHoraria(1);
- fh9.setNumeroDiaSemana((byte) 7);
- fh9.setHoraInicio("00:00:00");
- fh9.setHoraFin("23:59:59");
- List<FranjaHoraria> listaFranjas = new ArrayList<>();
- listaFranjas.add(fh1);
- listaFranjas.add(fh2);
- listaFranjas.add(fh3);
- listaFranjas.add(fh4);
- listaFranjas.add(fh5);
- listaFranjas.add(fh6);
- listaFranjas.add(fh7);
- listaFranjas.add(fh8);
- listaFranjas.add(fh9);
- nuevo.setFranjasHorarias(listaFranjas);
- calendarioBusiness.insert(nuevo);
- validador.validar("/test_data/validaciones/calendario/afterCalendarioInsert.json", true);
- }
- @Test
- public void deleteCalendarioTest () throws Exception {
- /**
- * Caso de Prueba: Eliminar un calendario que existe
- */
- escenarioSetter.init("/test_data/escenarios/calendario/calendarioUpdate.json");
- calendarioBusiness.delete(1);
- validador.validar("/test_data/validaciones/calendario/afterCalendarioDelete.json", true);
- /**
- * Caso de Prueba: Eliminar un calendario que no existe
- */
- try{
- calendarioBusiness.delete(-1);
- } catch(Exception e){
- Assert.assertTrue(e.getMessage() != null && e.getMessage().equalsIgnoreCase("El calendario no existe."));
- }
- /**
- * Caso de Prueba: Eliminar un calendario que es referenciado en otras tablas
- */
- escenarioSetter.init("/test_data/escenarios/calendario/calendarioDeleteConReferencias.json");
- try{
- calendarioBusiness.delete(0);
- } catch(Exception e){
- Assert.assertTrue(e.getMessage() != null && e.getMessage().equalsIgnoreCase("El calendario está siendo referenciado en otras tablas"));
- }
- validador.validar("/test_data/validaciones/calendario/afterCalendarioDeleteConReferencias.json", true);
- }
- @Test
- public void traerCalendarioTest() throws EscenarioLoadException, Exception{
- /**
- * Caso de prueba: Llamar a un calendario que no existe
- */
- logger.info("--- Test traer Calendario inexistente ---");
- try {
- calendarioBusiness.traerCalendario(-1);
- } catch (Exception e) {
- Assert.assertTrue(e.getMessage() != null && e.getMessage().equalsIgnoreCase("El calendario no existe."));
- }
- /**
- * Caso de prueba: Llamar a un calendario que existe y verificar que tenga los mismos datos que en la BD
- */
- logger.info("--- Test traer Calendario existente ---");
- escenarioSetter.init("/test_data/escenarios/calendario/calendarioUpdate.json");
- Calendario c = calendarioBusiness.traerCalendario(1);
- Assert.assertEquals(c.getDescripcion(), "CALENDARIO TEST");
- // El calendario debe tener 2 bandas
- Assert.assertNotNull(c.getBandasHorarias());
- Assert.assertEquals(c.getBandasHorarias().size(), 2);
- /* El método traerCalendario encuentra en la BD 8 franjas pero crea en memoria un registro extra para las
- * Franjas que tienen bandas iguales en los extremos, por lo que en este caso devuelve 9 franjas
- */
- Assert.assertNotNull(c.getFranjasHorarias());
- Assert.assertEquals(c.getFranjasHorarias().size(), 9);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement