diff options
| author | Jacob Magnusson | 2012-11-03 00:32:02 +0100 | 
|---|---|---|
| committer | Jacob Magnusson | 2012-11-03 00:32:02 +0100 | 
| commit | 1b49615c00793b658f40d08617965316a3f71a7e (patch) | |
| tree | 78ccdc7e8a7e86f30ef4bb1c220a2a9058602610 /rest_framework/tests | |
| parent | 19a218f85973b4c478ec0b8373e971e1d787281a (diff) | |
| download | django-rest-framework-1b49615c00793b658f40d08617965316a3f71a7e.tar.bz2 | |
Added test that makes sure that fields with
dictionaries as data are returned as expected and
not turned into string representations
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/models.py | 7 | ||||
| -rw-r--r-- | rest_framework/tests/serializer.py | 13 | 
2 files changed, 20 insertions, 0 deletions
diff --git a/rest_framework/tests/models.py b/rest_framework/tests/models.py index 415e4d06..1a0078e8 100644 --- a/rest_framework/tests/models.py +++ b/rest_framework/tests/models.py @@ -122,6 +122,13 @@ class Person(RESTFrameworkModel):      name = models.CharField(max_length=10)      age = models.IntegerField(null=True, blank=True) +    @property +    def info(self): +        return { +            'name': self.name, +            'age': self.age, +        } +  # Model for issue #324  class BlankFieldModel(RESTFrameworkModel): diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 9febc9c8..5d46ff68 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -46,8 +46,11 @@ class ActionItemSerializer(serializers.ModelSerializer):  class PersonSerializer(serializers.ModelSerializer): +    info = serializers.Field(source='info') +      class Meta:          model = Person +        fields = ('name', 'age', 'info')  class BasicTests(TestCase): @@ -69,6 +72,9 @@ class BasicTests(TestCase):              'created': datetime.datetime(2012, 1, 1),              'sub_comment': 'And Merry Christmas!'          } +        self.person_data = {'name': 'dwight', 'age': 35} +        self.person = Person(**self.person_data) +        self.person.save()      def test_empty(self):          serializer = CommentSerializer() @@ -100,6 +106,13 @@ class BasicTests(TestCase):          self.assertTrue(serializer.object is expected)          self.assertEquals(serializer.data['sub_comment'], 'And Merry Christmas!') +    def test_field_with_dictionary(self): +        """ Make sure that dictionaries from fields are left intact +        """ +        serializer = PersonSerializer(instance=self.person) +        expected = self.person_data +        self.assertEquals(serializer.data['info'], expected) +  class ValidationTests(TestCase):      def setUp(self):  | 
