aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_model_serializer.py
diff options
context:
space:
mode:
authorTom Christie2014-09-18 13:07:38 +0100
committerTom Christie2014-09-18 13:07:38 +0100
commit3bc628edc01a6bd4feeceaefa45168549b79a31a (patch)
treeecbb07cb36e6392d953ee91ac6ab58de39e3a0f1 /tests/test_model_serializer.py
parent87734be5f41de921ac32ad1f6664db243aab6d07 (diff)
downloaddjango-rest-framework-3bc628edc01a6bd4feeceaefa45168549b79a31a.tar.bz2
Test for custom fields
Diffstat (limited to 'tests/test_model_serializer.py')
-rw-r--r--tests/test_model_serializer.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py
index 63e36452..3ee91126 100644
--- a/tests/test_model_serializer.py
+++ b/tests/test_model_serializer.py
@@ -17,6 +17,10 @@ def dedent(blocktext):
# Testing regular field mappings
+class CustomField(models.Field):
+ pass
+
+
class RegularFieldsModel(models.Model):
auto_field = models.AutoField(primary_key=True)
big_integer_field = models.BigIntegerField()
@@ -37,6 +41,7 @@ class RegularFieldsModel(models.Model):
text_field = models.TextField()
time_field = models.TimeField()
url_field = models.URLField(max_length=100)
+ custom_field = CustomField()
def method(self):
return 'method'
@@ -44,6 +49,9 @@ class RegularFieldsModel(models.Model):
class TestRegularFieldMappings(TestCase):
def test_regular_fields(self):
+ """
+ Model fields should map to their equivelent serializer fields.
+ """
class TestSerializer(serializers.ModelSerializer):
class Meta:
model = RegularFieldsModel
@@ -69,8 +77,8 @@ class TestRegularFieldMappings(TestCase):
text_field = CharField()
time_field = TimeField()
url_field = URLField(max_length=100)
+ custom_field = ModelField(model_field=<tests.test_model_serializer.CustomField: custom_field>)
""")
-
self.assertEqual(repr(TestSerializer()), expected)
def test_method_field(self):
@@ -139,6 +147,10 @@ class TestRegularFieldMappings(TestCase):
assert str(excinfo.exception) == expected
def test_missing_field(self):
+ """
+ Fields that have been declared on the serializer class must be included
+ in the `Meta.fields` if it exists.
+ """
class TestSerializer(serializers.ModelSerializer):
missing = serializers.ReadOnlyField()