aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/serializer.py
diff options
context:
space:
mode:
authorTom Christie2012-10-04 02:37:39 -0700
committerTom Christie2012-10-04 02:37:39 -0700
commitad2149767bea4fcd07348ca77f6cad5719a44181 (patch)
tree1b74317c74794a868856c8db0cf247e3e7034a8a /rest_framework/tests/serializer.py
parent0a769f261e79272cf1be6add1bf96aaeec59fb05 (diff)
parentd79e18963e64c1714a29ece6ca59a8a4a1c02516 (diff)
downloaddjango-rest-framework-ad2149767bea4fcd07348ca77f6cad5719a44181.tar.bz2
Merge pull request #278 from tomchristie/related-field-fixes
Related field fixes
Diffstat (limited to 'rest_framework/tests/serializer.py')
-rw-r--r--rest_framework/tests/serializer.py61
1 files changed, 55 insertions, 6 deletions
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py
index db342c9e..08a7a9d0 100644
--- a/rest_framework/tests/serializer.py
+++ b/rest_framework/tests/serializer.py
@@ -202,9 +202,58 @@ class ManyToManyTests(TestCase):
self.assertEquals(instance.pk, 2)
self.assertEquals(list(instance.rel.all()), [])
- # def test_deserialization_for_update(self):
- # serializer = self.serializer_class(self.data, instance=self.instance)
- # expected = self.instance
- # self.assertEquals(serializer.is_valid(), True)
- # self.assertEquals(serializer.object, expected)
- # self.assertTrue(serializer.object is expected)
+
+class DefaultValueTests(TestCase):
+ def setUp(self):
+ class DefaultValueSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = DefaultValueModel
+
+ self.serializer_class = DefaultValueSerializer
+ self.objects = DefaultValueModel.objects
+
+ def test_create_using_default(self):
+ data = {}
+ serializer = self.serializer_class(data)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+ self.assertEquals(len(self.objects.all()), 1)
+ self.assertEquals(instance.pk, 1)
+ self.assertEquals(instance.text, 'foobar')
+
+ def test_create_overriding_default(self):
+ data = {'text': 'overridden'}
+ serializer = self.serializer_class(data)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+ self.assertEquals(len(self.objects.all()), 1)
+ self.assertEquals(instance.pk, 1)
+ self.assertEquals(instance.text, 'overridden')
+
+
+class CallableDefaultValueTests(TestCase):
+ def setUp(self):
+ class CallableDefaultValueSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = CallableDefaultValueModel
+
+ self.serializer_class = CallableDefaultValueSerializer
+ self.objects = CallableDefaultValueModel.objects
+
+ def test_create_using_default(self):
+ data = {}
+ serializer = self.serializer_class(data)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+ self.assertEquals(len(self.objects.all()), 1)
+ self.assertEquals(instance.pk, 1)
+ self.assertEquals(instance.text, 'foobar')
+
+ def test_create_overriding_default(self):
+ data = {'text': 'overridden'}
+ serializer = self.serializer_class(data)
+ self.assertEquals(serializer.is_valid(), True)
+ instance = serializer.save()
+ self.assertEquals(len(self.objects.all()), 1)
+ self.assertEquals(instance.pk, 1)
+ self.assertEquals(instance.text, 'overridden')