Example #1
0
File: views.py Project: aaloy/motor
def disponibilidad(request):
    """Buscador de disponibilidad"""
    data = {}
    if request.method == "POST":
        form = BuscarForm(request.POST)
        if form.is_valid():
            # procesamos la dispo
            hotel = form.cleaned_data['hotel']
            noches = form.cleaned_data['fecha_salida'] - form.cleaned_data['fecha_llegada']
            # Eliminamos los bebés de la dispo
            nins = 0
            for x in range(1, form.cleaned_data['nins_d1']+1):
                if form.cleaned_data['edad_nin%s_d1' % x ]>2:
                    nins += 1
            consulta = Consulta(
               inicio = form.cleaned_data['fecha_llegada'],
               noches = noches.days,
               adultos = form.cleaned_data['adultos_d1'],
               ninyos = nins,
               hotel = hotel
            )
            dispo = Disponibilidad(consulta)
            dispo.obtener_disponibilidad()
            data['consulta'] = consulta
            data['dispo'] = dispo
            return direct_to_template(request, template='hotel/disponibilidad.html', extra_context=data)
    else:
        form = BuscarForm()
    data['form'] = form
    return direct_to_template(request, template='hotel/index.html', extra_context=data)
Example #2
0
 def test_get_precios(self):
     consulta = Consulta(date.today() + timedelta(days=2), noches=4)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "Debe haber un hotel"
     hotel = dispo.hoteles["test"]
     assert len(hotel.suplementos_regimen) > 0, "No hay suplementos de regimen"
Example #3
0
def disponibilidad(request):
    """Buscador de disponibilidad"""
    data = {}
    if request.method == "POST":
        form = BuscarForm(request.POST)
        if form.is_valid():
            # procesamos la dispo
            hotel = form.cleaned_data['hotel']
            noches = form.cleaned_data['fecha_salida'] - form.cleaned_data[
                'fecha_llegada']
            # Eliminamos los bebés de la dispo
            nins = 0
            for x in range(1, form.cleaned_data['nins_d1'] + 1):
                if form.cleaned_data['edad_nin%s_d1' % x] > 2:
                    nins += 1
            consulta = Consulta(inicio=form.cleaned_data['fecha_llegada'],
                                noches=noches.days,
                                adultos=form.cleaned_data['adultos_d1'],
                                ninyos=nins,
                                hotel=hotel)
            dispo = Disponibilidad(consulta)
            dispo.obtener_disponibilidad()
            data['consulta'] = consulta
            data['dispo'] = dispo
            return direct_to_template(request,
                                      template='hotel/disponibilidad.html',
                                      extra_context=data)
    else:
        form = BuscarForm()
    data['form'] = form
    return direct_to_template(request,
                              template='hotel/index.html',
                              extra_context=data)
Example #4
0
File: views.py Project: aaloy/motor
def disponibilidad(request):
    """Buscador de disponibilidad"""
    data = {}
    if request.method == "POST":
        form = BuscarForm(request.POST)
        if form.is_valid():
            # procesamos la dispo
            hotel = form.cleaned_data["hotel"]
            noches = form.cleaned_data["fecha_salida"] - form.cleaned_data["fecha_llegada"]
            # Eliminamos los bebés de la dispo
            nins = 0
            for x in range(1, form.cleaned_data["nins_d1"] + 1):
                if form.cleaned_data["edad_nin%s_d1" % x] > 2:
                    nins += 1
            consulta = Consulta(
                inicio=form.cleaned_data["fecha_llegada"],
                noches=noches.days,
                adultos=form.cleaned_data["adultos_d1"],
                ninyos=nins,
                hotel=hotel,
            )
            dispo = Disponibilidad(consulta)
            dispo.obtener_disponibilidad()
            data["consulta"] = consulta
            data["dispo"] = dispo
    else:
        form = BuscarForm()
    data["form"] = form
    return direct_to_template(request, template="recepcion/disponibilidad.html", extra_context=data)
Example #5
0
 def test_get_precios(self):
     consulta = Consulta(date.today()+timedelta(days=2) , noches=4)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.suplementos_regimen) > 0, "No hay suplementos de regimen"
Example #6
0
 def test_disponibilidad_basica(self):
     """Comprueba una disponiblidad básica 2 ad 4 noches"""
     consulta = Consulta(date.today()+timedelta(days=2) , noches=4)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.contratos) == 1, "Hay un contrato"
     assert  len(hotel.habitaciones) == 2
Example #7
0
 def test_sin_dispo(self):
     """Comprueba que no devuelve disponibilidad si las condiciones
     de ocupación no se cumplen"""
     consulta = Consulta(date.today()+timedelta(days=2) ,
                         4,
                         adultos=4, ninyos=2)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 0 , "No Debe haber un hotel"
Example #8
0
 def test_disponibilidad_basica(self):
     """Comprueba una disponiblidad básica 2 ad 4 noches"""
     consulta = Consulta(date.today()+timedelta(days=2) , noches=4, hotel=self.hotel)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.contratos) == 1, "Hay un contrato"
     assert  len(hotel.habitaciones) == 2
Example #9
0
 def test_sin_dispo(self):
     """Comprueba que no devuelve disponibilidad si las condiciones
     de ocupación no se cumplen"""
     consulta = Consulta(date.today() + timedelta(days=2),
                         4,
                         adultos=4,
                         ninyos=2)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 0, "No Debe haber un hotel"
Example #10
0
 def test_dispo_suite(self):
     """Comprueba que hay disponiblidad para la suite"""
     consulta = Consulta(date.today() + timedelta(days=2),
                         4,
                         tipo_habitacion=3)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.habitaciones) == 1
Example #11
0
 def test_dispo_suite(self):
     """Comprueba que hay disponiblidad para la suite"""
     consulta = Consulta(date.today()+timedelta(days=2),
                         4,
                         tipo_habitacion = 3
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert  len(hotel.habitaciones) == 1
Example #12
0
 def test_restriccion_ocupacion_ninyos(self):
     """Comprueba que la restricción de ocupación se aplica.
     Se está consultando la ocupación de 2 adultos y dos niños
     """
     assert RestriccionOcupacion.objects.all().count() > 0, "No hay restricciones de ocupación en el contrato"
     consulta = Consulta(date.today()+timedelta(days=2) , 
                         tipo_habitacion=2,
                         noches=4, ninyos=1)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 0 , "No Debe haber un hotel"
Example #13
0
 def test_blackout(self):
     """"Comprobamos que no se puede reservar con una
     antelación menor que el blackout"""
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=1,
                         adultos = 2,
                         ninyos = 2,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==0, "Hay blackout de 3 días y no debe haber dispo"
Example #14
0
 def test_no_suite(self):
     """Comprueba que no hay disponiblidad si selecccionamos una suite"""
     log.debug('Test precio single para Suite')
     consulta = Consulta(date.today()+timedelta(days=2),
                         tipo_habitacion = 3,
                         noches=4,
                         adultos = 1
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==0, "No debería haber disponibilidad"
Example #15
0
File: views.py Project: aaloy/motor
def disponibilidad_2ad_1n(request):
    """Ejemplo de disponibilidad de dos adultos y un niño"""
    consulta = Consulta(date.today() + timedelta(days=5), noches=5, adultos=2, ninyos=1)
    dispo = Disponibilidad(consulta)
    dispo.obtener_disponibilidad()
    form = BuscarForm()
    return direct_to_template(
        request,
        template="recepcion/disponibilidad.html",
        extra_context={"dispo": dispo, "consulta": consulta, "form": form},
    )
Example #16
0
 def test_dispo_str(self):
     "Comprueba que existe representación textual para la dispo"
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=4)
     fecha = date.today()+timedelta(days=4)
     for inv in Inventario.objects.filter(fecha=fecha, tipo_habitacion__slug='sui'):
         inv.is_paro_ventas = True
         inv.save()
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     log.info(dispo)
     assert len("%s" % dispo) > 0, "Debería haber disponiblidad"
Example #17
0
 def test_sin_dispo_str(self):
     "Comprueba que existe representación textual para la dispo"
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=3, adultos=10, hotel=self.hotel)
     fecha = date.today()+timedelta(days=4)
     for inv in Inventario.objects.filter(fecha=fecha, tipo_habitacion__slug='sui'):
         inv.is_paro_ventas = True
         inv.save()
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     log.info(dispo)
     assert "%s"%dispo == "No hay disponibilidad"
Example #18
0
def disponibilidad_2ad_1n(request):
    """Ejemplo de disponibilidad de dos adultos y un niño"""
    consulta = Consulta(date.today()+timedelta(days=5),
                            noches=5,
                            adultos = 2,
                            ninyos = 1,
                           )
    dispo = Disponibilidad(consulta)
    dispo.obtener_disponibilidad()
    form = BuscarForm()
    return direct_to_template(request, template='recepcion/disponibilidad.html',
                              extra_context={'dispo': dispo, 'consulta':consulta, 'form':form})
Example #19
0
 def test_precio_1N_1AD_3N(self):
     """Un adulto y tres niños. No hay disponiblidad, ya
     que están las habitaciones a un máximo de 2 niños"""
     consulta = Consulta(date.today()+timedelta(days=2),
                         1,
                         tipo_habitacion = 2,
                         adultos = 1,
                         ninyos = 3,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==0, "No debiera haber disponibilidad"
 def test_restriccion_ocupacion_ninyos(self):
     """Comprueba que la restricción de ocupación se aplica.
     Se está consultando la ocupación de 2 adultos y dos niños
     """
     assert RestriccionOcupacion.objects.all().count(
     ) > 0, "No hay restricciones de ocupación en el contrato"
     consulta = Consulta(date.today() + timedelta(days=2),
                         tipo_habitacion=2,
                         noches=4,
                         ninyos=1)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 0, "No Debe haber un hotel"
Example #21
0
 def test_precio_1N_1AD_3N(self):
     """Un adulto y tres niños. No hay disponiblidad, ya
     que están las habitaciones a un máximo de 2 niños"""
     consulta = Consulta(
         date.today() + timedelta(days=2),
         1,
         tipo_habitacion=2,
         adultos=1,
         ninyos=3,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 0, "No debiera haber disponibilidad"
Example #22
0
 def test_precio_1N_1AD_1N(self):
     "Un adulto y un niño. Implica habitación doble"
     consulta = Consulta(date.today()+timedelta(days=2),
                         1,
                         tipo_habitacion = 2,
                         adultos = 1,
                         ninyos = 1,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio == Decimal("60")
Example #23
0
 def test_blackout(self):
     """"Comprobamos que no se puede reservar con una
     antelación menor que el blackout"""
     consulta = Consulta(
         date.today() + timedelta(days=2),
         noches=1,
         adultos=2,
         ninyos=2,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(
         dispo.hoteles) == 0, "Hay blackout de 3 días y no debe haber dispo"
Example #24
0
 def test_suplemento_dia(self):
     "Comprobamos que se aplican los suplementos"
     consulta = Consulta(date.today()+timedelta(days=3),
                         noches=4,
                         adultos = 2,
                         ninyos = 0,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "Debería salir un hotel"
     hotel = dispo.hoteles.get('test')
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 500
Example #25
0
 def test_precio_1N_2AD_2N(self):
     "Dos adultos y dos niños"
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=1,
                         tipo_habitacion = 2,
                         adultos = 2,
                         ninyos = 2,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio ==  Decimal("87.5"), \
             "Da %s"% hotel.habitaciones.get('std-mp').precio
Example #26
0
 def test_paro_ventas(self):
     """Comprobamos que si entre el rango de fechas hay un paro de ventas para
     esa habitación no sale"""
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=4)
     fecha = date.today()+timedelta(days=4)
     for inv in Inventario.objects.filter(fecha=fecha, tipo_habitacion__slug='sui'):
         inv.is_paro_ventas = True
         inv.save()
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.habitaciones) == 1
Example #27
0
 def test_precio_1N_1AD_1N(self):
     "Un adulto y un niño. Implica habitación doble"
     consulta = Consulta(
         date.today() + timedelta(days=2),
         1,
         tipo_habitacion=2,
         adultos=1,
         ninyos=1,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio == Decimal("60")
Example #28
0
 def test_suplemento_dia(self):
     "Comprobamos que se aplican los suplementos"
     consulta = Consulta(
         date.today() + timedelta(days=3),
         noches=4,
         adultos=2,
         ninyos=0,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "Debería salir un hotel"
     hotel = dispo.hoteles.get('test')
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 500
Example #29
0
 def test_paro_ventas(self):
     """Comprobamos que si entre el rango de fechas hay un paro de ventas para
     esa habitación no sale"""
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=4, hotel = self.hotel)
     fecha = date.today()+timedelta(days=4)
     for inv in Inventario.objects.filter(fecha=fecha, tipo_habitacion__slug='sui'):
         inv.is_paro_ventas = True
         inv.save()
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1 , "Debe haber un hotel"
     hotel = dispo.hoteles['test']
     assert len(hotel.habitaciones) == 1
Example #30
0
 def test_precio_1N_2AD_2N(self):
     "Dos adultos y dos niños"
     consulta = Consulta(
         date.today() + timedelta(days=2),
         noches=1,
         tipo_habitacion=2,
         adultos=2,
         ninyos=2,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio ==  Decimal("87.5"), \
             "Da %s"% hotel.habitaciones.get('std-mp').precio
Example #31
0
 def test_precio_1N_2AD_1N(self):
     """Comprueba que tenemos precios correctos para la habitación
     en el caso de la consulta individual"""
     # 2 AD 1 día
     consulta = Consulta(date.today()+timedelta(days=2),
                         1,
                         tipo_habitacion=2,
                         adultos = 2,
                         ninyos = 1,
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio == 88
Example #32
0
 def test_precio_1N_2AD_1N(self):
     """Comprueba que tenemos precios correctos para la habitación
     en el caso de la consulta individual"""
     # 2 AD 1 día
     consulta = Consulta(
         date.today() + timedelta(days=2),
         1,
         tipo_habitacion=2,
         adultos=2,
         ninyos=1,
     )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert hotel.habitaciones.get('std-mp').precio == 88
Example #33
0
 def test_precio_single_noches(self):
     """Comprueba que tenemos precios correctos para la habitación
     en el caso de la consulta individual para más de una noche"""
     # 2 AD 1 día
     log.debug('Test precio single')
     consulta = Consulta(date.today()+timedelta(days=2),
                         noches=4,
                         adultos = 1
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones)==2 #tiene que estar la std y ls ind 
     assert hotel.habitaciones.get('ind-mp').precio == 240, "El precio no concuerda %s" %  hotel.habitaciones.get('ind-mp').precio
     assert hotel.habitaciones.get('std-mp').precio == 240, "El precio no concuerda %s" % hotel.habitaciones.get('std-mp').precio
Example #34
0
 def test_precio_doble_std(self):
     """Comprueba que tenemos precios correctos para la habitación
     en el caso de la habitación std"""
     # 2 AD 1 día
     consulta = Consulta(date.today()+timedelta(days=2),
                         1,
                         tipo_habitacion = 2, #std
                         adultos = 2
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones)==1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 100, "El precio no concuerda (%s)" % habitacion.precio
     # 2 adultos
     consulta = Consulta(date.today()+timedelta(days=2),
                         4,
                         tipo_habitacion = 2, #std
                         adultos = 2
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles)==1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones)==1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 400, "El precio no concuerda (%s)" % habitacion.precio
     # 3 adultos
     consulta = Consulta(date.today()+timedelta(days=2),
                         4,
                         tipo_habitacion = 2, #std
                         adultos = 3
                        )
     #1 adulto
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones)==1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 480, "El precio no concuerda"
     consulta = Consulta(date.today()+timedelta(days=2),
                         4,
                         tipo_habitacion = 2, #std
                         adultos = 1
                        )
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones)==1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 240, "El precio no concuerda"
Example #35
0
 def test_precio_doble_std(self):
     """Comprueba que tenemos precios correctos para la habitación
     en el caso de la habitación std"""
     # 2 AD 1 día
     consulta = Consulta(
         date.today() + timedelta(days=2),
         1,
         tipo_habitacion=2,  #std
         adultos=2)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones) == 1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 100, "El precio no concuerda (%s)" % habitacion.precio
     # 2 adultos
     consulta = Consulta(
         date.today() + timedelta(days=2),
         4,
         tipo_habitacion=2,  #std
         adultos=2)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones) == 1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 400, "El precio no concuerda (%s)" % habitacion.precio
     # 3 adultos
     consulta = Consulta(
         date.today() + timedelta(days=2),
         4,
         tipo_habitacion=2,  #std
         adultos=3)
     #1 adulto
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones) == 1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 480, "El precio no concuerda"
     consulta = Consulta(
         date.today() + timedelta(days=2),
         4,
         tipo_habitacion=2,  #std
         adultos=1)
     dispo = Disponibilidad(consulta)
     dispo.obtener_disponibilidad()
     assert len(dispo.hoteles) == 1, "No hay disponibilidad"
     hotel = dispo.hoteles.get('test')
     assert len(hotel.habitaciones) == 1, "No hay habitaciones"
     habitacion = hotel.habitaciones.get('std-mp')
     assert habitacion.precio == 240, "El precio no concuerda"
Example #36
0
    def test_estancia_minima(self):
        """"Comprobamos que no se puede reservar con una
        estancia mínima menor que la fijada en contrato"""

        log.info('Comprobamos primero que sin la restriccion tenemos dispo')
        consulta = Consulta(date.today()+timedelta(days=2),
                            noches=5,
                            adultos = 2,
                            ninyos = 0,
                           )
        dispo = Disponibilidad(consulta)
        dispo.obtener_disponibilidad()
        assert len(dispo.hoteles)==1, "Debería salir un hotel"

        log.info('Ahora con la restricción')
        consulta = Consulta(date.today()+timedelta(days=2),
                            noches=2,
                            adultos = 2,
                            ninyos = 0,
                           )
        dispo = Disponibilidad(consulta)
        dispo.obtener_disponibilidad()
        assert len(dispo.hoteles)==0, "No debería haber hotel"