Tests and tweaks for choice fields

This commit is contained in:
Tom Christie 2014-09-22 16:50:04 +01:00
parent e5f0a97595
commit b5454dd022
2 changed files with 13 additions and 6 deletions

View File

@ -750,7 +750,7 @@ class ChoiceField(Field):
self.fail('invalid_choice', input=data)
def to_representation(self, value):
return value
return self.choice_strings_to_values[str(value)]
class MultipleChoiceField(ChoiceField):
@ -769,7 +769,7 @@ class MultipleChoiceField(ChoiceField):
])
def to_representation(self, value):
return value
return [self.choice_strings_to_values[str(item)] for item in value]
# File types...

View File

@ -505,9 +505,11 @@ class TestChoiceField(FieldValues):
'good': 'good',
}
invalid_inputs = {
'awful': ['`awful` is not a valid choice.']
'amazing': ['`amazing` is not a valid choice.']
}
outputs = {
'good': 'good'
}
outputs = {}
field = fields.ChoiceField(
choices=[
('poor', 'Poor quality'),
@ -530,7 +532,10 @@ class TestChoiceFieldWithType(FieldValues):
5: ['`5` is not a valid choice.'],
'abc': ['`abc` is not a valid choice.']
}
outputs = {}
outputs = {
'1': 1,
1: 1
}
field = fields.ChoiceField(
choices=[
(1, 'Poor quality'),
@ -553,7 +558,9 @@ class TestChoiceFieldWithListChoices(FieldValues):
invalid_inputs = {
'awful': ['`awful` is not a valid choice.']
}
outputs = {}
outputs = {
'good': 'good'
}
field = fields.ChoiceField(choices=('poor', 'medium', 'good'))