Пример #1
0
 @Test(expected = OfertaMaxPersonasException.class)
 public void testMaxPersonasException()
     throws InstanceNotFoundException, InputValidationException, OfertaMaxPersonasException,
         OfertaEmailException, OfertaReservaDateException, OfertaEstadoException,
         OfertaReclamaDateException {
   Oferta oferta = createOferta(getValidOferta());
   try {
     ofertaService.reservarOferta(oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
     ofertaService.reservarOferta(
         oferta.getOfertaId(), "a" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
     ofertaService.reservarOferta(
         oferta.getOfertaId(), "b" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
     ofertaService.reservarOferta(
         oferta.getOfertaId(), "c" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
     ofertaService.reservarOferta(
         oferta.getOfertaId(), "d" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
     ofertaService.reservarOferta(
         oferta.getOfertaId(), "e" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER);
   } finally {
     /* Clear database. */
     for (Reserva reserva : ofertaService.findReservas(oferta.getOfertaId(), null)) {
       ofertaService.reclamarOferta(reserva.getReservaId());
       removeReserva(reserva.getReservaId());
     }
     removeOferta(oferta.getOfertaId());
   }
 }
Пример #2
0
 public static ReservaDto toReservaDto(Reserva reserva) {
   return new ReservaDto(
       reserva.getReservaId(),
       reserva.getOfertaId(),
       reserva.getEstado(),
       reserva.getFechaReserva());
 }
Пример #3
0
  @Test(expected = OfertaEstadoException.class)
  public void testEstadoException()
      throws InstanceNotFoundException, InputValidationException, OfertaMaxPersonasException,
          OfertaEmailException, OfertaReservaDateException, OfertaEstadoException,
          OfertaReclamaDateException {
    Oferta oferta = createOferta(getValidOferta());
    Reserva reserva = null;
    try {
      reserva =
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER));

      oferta.setMaxPersonas((short) 2);
      ofertaService.updateOferta(
          oferta.getOfertaId(),
          oferta.getTitulo(),
          oferta.getDescripcion(),
          oferta.getIniReserva(),
          oferta.getLimReserva(),
          oferta.getLimOferta(),
          oferta.getPrecioReal(),
          oferta.getPrecioRebajado(),
          oferta.getMaxPersonas());
      /* Clear database. */
    } finally {
      ofertaService.reclamarOferta(reserva.getReservaId());
      removeReserva(reserva.getReservaId());
      removeOferta(oferta.getOfertaId());
    }
  }
Пример #4
0
  @Test(expected = InstanceNotFoundException.class)
  public void testReservarNonExistentOferta()
      throws InputValidationException, InstanceNotFoundException {

    Reserva reserva = ofertaService.findReserva(NON_EXISTENT_RESERVA_ID);
    /* Clear database. */
    removeReserva(reserva.getReservaId());
  }
Пример #5
0
  @Test
  public void testReservarOfertaAndFindReserva()
      throws InstanceNotFoundException, InputValidationException, OfertaEstadoException,
          OfertaMaxPersonasException, OfertaEmailException, OfertaReservaDateException,
          OfertaReclamaDateException {

    Oferta oferta = createOferta(getValidOferta());

    try {

      /* Reservar oferta. */
      Reserva reserva =
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER));

      /* Find reserva. */
      Reserva foundReserva = ofertaService.findReserva(reserva.getReservaId());

      /* Check reserva. */
      assertEquals(reserva, foundReserva);
      assertEquals(VALID_CREDIT_CARD_NUMBER, foundReserva.getNumeroTarjeta());
      assertEquals(USER_EMAIL, foundReserva.getEmailUsuario());
      assertEquals(oferta.getOfertaId(), foundReserva.getOfertaId());
      assertTrue(Calendar.getInstance().after(foundReserva.getFechaReserva()));

      /* Clear database */
      // Reclamamos la oferta para cambiar su estado y poder eliminarla (Solo se pueden borrar
      // ofertas 'Creadas' o 'Liberadas'
      ofertaService.reclamarOferta(reserva.getReservaId());
      removeReserva(reserva.getReservaId());
    } finally {
      removeOferta(oferta.getOfertaId());
    }
  }
Пример #6
0
  @Test
  public void testReservarOfertasAndFindReservas()
      throws InstanceNotFoundException, InputValidationException, OfertaEstadoException,
          OfertaMaxPersonasException, OfertaEmailException, OfertaReservaDateException,
          OfertaReclamaDateException {
    Oferta oferta = createOferta(getValidOferta());
    List<Reserva> reservas = new ArrayList<Reserva>();
    List<Reserva> _reservas = new ArrayList<Reserva>();

    try {
      reservas.add(
          0,
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER)));

      reservas.add(
          1,
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), "1" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER)));

      _reservas = ofertaService.findReservas(oferta.getOfertaId(), null);

      assertEquals(reservas.size(), _reservas.size());
      assertEquals(reservas, _reservas);

      /* Añadir y buscar reserva en estado cerrada */
      reservas.add(
          2,
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), "2" + USER_EMAIL, VALID_CREDIT_CARD_NUMBER)));
      ofertaService.reclamarOferta(reservas.get(2).getReservaId());

      _reservas = ofertaService.findReservas(oferta.getOfertaId(), Reserva.ESTADO_CERRADA);

      assertEquals(1, _reservas.size());

      for (Reserva reserva : ofertaService.findReservas(oferta.getOfertaId(), null)) {
        ofertaService.reclamarOferta(reserva.getReservaId());
        removeReserva(reserva.getReservaId());
      }
    } finally {
      removeOferta(oferta.getOfertaId());
    }
  }
Пример #7
0
  // Test comentado porque no podemos cambiar las fechas de una oferta reservada para que se reclame
  // y tampoco antes de reservarse porque iniReserva <= limReserva <= limOferta
  // En resumen para comprobarlo habria que esperar a que en la oferta caducara su limite para
  // disfrutarla
  // @Test(expected = OfertaReclamaDateException.class)
  public void testReclamaDateException()
      throws InstanceNotFoundException, InputValidationException, OfertaEmailException,
          OfertaMaxPersonasException, OfertaReservaDateException, OfertaEstadoException,
          OfertaReclamaDateException {

    Oferta oferta = createOferta(getValidOferta());
    Reserva reserva = null;

    try {

      reserva =
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER));

      Calendar before = Calendar.getInstance();
      before.add(Calendar.DAY_OF_MONTH, -4);
      oferta.setIniReserva(before);

      Calendar after = Calendar.getInstance();
      after.add(Calendar.DAY_OF_MONTH, -3);
      oferta.setLimReserva(after);

      Calendar lim = Calendar.getInstance();
      lim.add(Calendar.DAY_OF_MONTH, -2);
      oferta.setLimOferta(lim);

      ofertaService.updateOferta(
          oferta.getOfertaId(),
          oferta.getTitulo(),
          oferta.getDescripcion(),
          oferta.getIniReserva(),
          oferta.getLimReserva(),
          oferta.getLimOferta(),
          oferta.getPrecioReal(),
          oferta.getPrecioRebajado(),
          oferta.getMaxPersonas());

      ofertaService.reclamarOferta(reserva.getReservaId());
      removeReserva(reserva.getReservaId());
    } finally {
      /* Clear database. */
      removeOferta(oferta.getOfertaId());
    }
  }
Пример #8
0
  @Test(expected = InputValidationException.class)
  public void testReservarOfertaWithInvalidCreditCard()
      throws InputValidationException, InstanceNotFoundException, OfertaEstadoException,
          OfertaMaxPersonasException, OfertaEmailException, OfertaReservaDateException {

    Oferta oferta = createOferta(getValidOferta());
    try {
      Reserva reserva =
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, INVALID_CREDIT_CARD_NUMBER));

      /* Clear database. */
      removeReserva(reserva.getReservaId());
    } finally {
      removeOferta(oferta.getOfertaId());
    }
  }
Пример #9
0
  @Test
  public void testReservar_y_Reclamar()
      throws InstanceNotFoundException, InputValidationException, OfertaEstadoException,
          OfertaMaxPersonasException, OfertaEmailException, OfertaReservaDateException,
          OfertaReclamaDateException {
    Oferta oferta = createOferta(getValidOferta());
    try {
      Reserva reserva =
          ofertaService.findReserva(
              ofertaService.reservarOferta(
                  oferta.getOfertaId(), USER_EMAIL, VALID_CREDIT_CARD_NUMBER));

      assertTrue(ofertaService.reclamarOferta(reserva.getReservaId()));
      assertFalse(ofertaService.reclamarOferta(reserva.getReservaId()));
      /* Clear database. */
      removeReserva(reserva.getReservaId());
    } finally {
      removeOferta(oferta.getOfertaId());
    }
  }