diff options
Diffstat (limited to 'tests/test_serializers.py')
| -rw-r--r-- | tests/test_serializers.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/test_serializers.py b/tests/test_serializers.py new file mode 100644 index 00000000..2e276f15 --- /dev/null +++ b/tests/test_serializers.py @@ -0,0 +1,33 @@ +from django.db import models +from django.test import TestCase + +from rest_framework.serializers import _resolve_model +from tests.models import BasicModel +from rest_framework.compat import six + + +class ResolveModelTests(TestCase): + """ + `_resolve_model` should return a Django model class given the + provided argument is a Django model class itself, or a properly + formatted string representation of one. + """ + def test_resolve_django_model(self): + resolved_model = _resolve_model(BasicModel) + self.assertEqual(resolved_model, BasicModel) + + def test_resolve_string_representation(self): + resolved_model = _resolve_model('tests.BasicModel') + self.assertEqual(resolved_model, BasicModel) + + def test_resolve_unicode_representation(self): + resolved_model = _resolve_model(six.text_type('tests.BasicModel')) + self.assertEqual(resolved_model, BasicModel) + + def test_resolve_non_django_model(self): + with self.assertRaises(ValueError): + _resolve_model(TestCase) + + def test_resolve_improper_string_representation(self): + with self.assertRaises(ValueError): + _resolve_model('BasicModel') |
