Example #1
0
def test_unauthenticated_related_validations(resource_in_unit):
    activate('en')
    resource_in_unit.min_age = 2
    resource_in_unit.max_age = 20
    resource_in_unit.max_reservations_per_user = 5
    resource_in_unit.access_code_type = Resource.ACCESS_CODE_TYPE_PIN6
    resource_in_unit.authentication = 'unauthenticated'

    with pytest.raises(ValidationError) as error:
        resource_in_unit.clean()
    assert 'This value cannot be set to more than zero if resource authentication is: Unauthenticated' \
        in get_field_errors(error.value, 'min_age')
    resource_in_unit.min_age = 0

    with pytest.raises(ValidationError) as error:
        resource_in_unit.clean()
    assert 'This value cannot be set to more than zero if resource authentication is: Unauthenticated' \
        in get_field_errors(error.value, 'max_age')
    resource_in_unit.max_age = 0

    with pytest.raises(ValidationError) as error:
        resource_in_unit.clean()
    assert 'This value cannot be set to more than zero if resource authentication is: Unauthenticated' \
        in get_field_errors(error.value, 'max_reservations_per_user')
    resource_in_unit.max_reservations_per_user = 0

    with pytest.raises(ValidationError) as error:
        resource_in_unit.clean()
    assert 'This cannot be enabled if resource authentication is: Unauthenticated' \
        in get_field_errors(error.value, 'access_code_type')
    resource_in_unit.access_code_type = Resource.ACCESS_CODE_TYPE_NONE

    resource_in_unit.full_clean()
Example #2
0
def test_price_validations(resource_in_unit):
    activate('en')

    resource_in_unit.min_price_per_hour = Decimal(1)
    resource_in_unit.max_price_per_hour = None
    resource_in_unit.full_clean()  # should not raise

    resource_in_unit.min_price_per_hour = Decimal(8)
    resource_in_unit.max_price_per_hour = Decimal(5)
    with pytest.raises(ValidationError) as ei:
        resource_in_unit.full_clean()
    assert 'This value cannot be greater than max price per hour' in get_field_errors(ei.value, 'min_price_per_hour')

    resource_in_unit.min_price_per_hour = Decimal(-5)
    resource_in_unit.max_price_per_hour = Decimal(-8)
    with pytest.raises(ValidationError) as ei:
        resource_in_unit.full_clean()
    assert 'Ensure this value is greater than or equal to 0.00.' in get_field_errors(ei.value, 'min_price_per_hour')
    assert 'Ensure this value is greater than or equal to 0.00.' in get_field_errors(ei.value, 'max_price_per_hour')
Example #3
0
def test_price_validations(resource_in_unit):
    activate('en')

    resource_in_unit.min_price_per_hour = Decimal(1)
    resource_in_unit.max_price_per_hour = None
    resource_in_unit.full_clean()  # should not raise

    resource_in_unit.min_price_per_hour = Decimal(8)
    resource_in_unit.max_price_per_hour = Decimal(5)
    with pytest.raises(ValidationError) as ei:
        resource_in_unit.full_clean()
    assert 'This value cannot be greater than max price per hour' in get_field_errors(ei.value, 'min_price_per_hour')

    resource_in_unit.min_price_per_hour = Decimal(-5)
    resource_in_unit.max_price_per_hour = Decimal(-8)
    with pytest.raises(ValidationError) as ei:
        resource_in_unit.full_clean()
    assert 'Ensure this value is greater than or equal to 0.00.' in get_field_errors(ei.value, 'min_price_per_hour')
    assert 'Ensure this value is greater than or equal to 0.00.' in get_field_errors(ei.value, 'max_price_per_hour')
Example #4
0
def test_time_slot_validations(resource_in_unit):
    activate('en')

    resource_in_unit.min_period = datetime.timedelta(hours=2)
    resource_in_unit.slot_size = datetime.timedelta(minutes=45)
    with pytest.raises(ValidationError) as error:
        resource_in_unit.full_clean()
    assert 'This value must be a multiple of slot_size' in get_field_errors(error.value, 'min_period')

    resource_in_unit.min_period = datetime.timedelta(hours=2)
    resource_in_unit.slot_size = datetime.timedelta(minutes=30)
    resource_in_unit.full_clean()
Example #5
0
def test_time_slot_validations(resource_in_unit):
    activate('en')

    resource_in_unit.min_period = datetime.timedelta(hours=2)
    resource_in_unit.slot_size = datetime.timedelta(minutes=45)
    with pytest.raises(ValidationError) as error:
        resource_in_unit.full_clean()
    assert 'This value must be a multiple of slot_size' in get_field_errors(
        error.value, 'min_period')

    resource_in_unit.min_period = datetime.timedelta(hours=2)
    resource_in_unit.slot_size = datetime.timedelta(minutes=30)
    resource_in_unit.full_clean()