Add failing tests for #2217

This commit is contained in:
José Padilla 2014-12-07 11:14:58 -04:00
parent 71c49fea8a
commit 6d8a652ef6

View File

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
from decimal import Decimal from decimal import Decimal
from django.utils import timezone from django.utils import timezone
from django.test.utils import override_settings
from rest_framework import serializers from rest_framework import serializers
import datetime import datetime
import django import django
@ -22,6 +24,16 @@ class TestEmpty:
field.run_validation() field.run_validation()
assert exc_info.value.detail == ['This field is required.'] assert exc_info.value.detail == ['This field is required.']
@override_settings(LANGUAGE_CODE='es')
def test_required_translated(self):
"""
By default '' is not a valid input.
"""
field = serializers.IntegerField()
with pytest.raises(serializers.ValidationError) as exc_info:
field.run_validation()
assert exc_info.value.detail == ['Este campo es obligatorio.']
def test_not_required(self): def test_not_required(self):
""" """
If `required=False` then a field may be omitted from the input. If `required=False` then a field may be omitted from the input.
@ -461,9 +473,26 @@ class TestMinMaxIntegerField(FieldValues):
'0': ['Ensure this value is greater than or equal to 1.'], '0': ['Ensure this value is greater than or equal to 1.'],
'4': ['Ensure this value is less than or equal to 3.'], '4': ['Ensure this value is less than or equal to 3.'],
} }
es_invalid_inputs = {
0: [u'Asegúrese de que este valor es mayor o igual a 1.'],
4: [u'Asegúrese de que este valor es menor o igual a 3.'],
'0': [u'Asegúrese de que este valor es mayor o igual a 1.'],
'4': [u'Asegúrese de que este valor es menor o igual a 3.'],
}
outputs = {} outputs = {}
field = serializers.IntegerField(min_value=1, max_value=3) field = serializers.IntegerField(min_value=1, max_value=3)
@override_settings(LANGUAGE_CODE='es')
def test_invalid_inputs_translated(self):
"""
Ensure that invalid values raise the expected validation error.
"""
field = serializers.IntegerField(min_value=1, max_value=3)
for input_value, expected_failure in get_items(self.es_invalid_inputs):
with pytest.raises(serializers.ValidationError) as exc_info:
field.run_validation(input_value)
assert exc_info.value.detail == expected_failure
class TestFloatField(FieldValues): class TestFloatField(FieldValues):
""" """