diff options
| author | Dustin Farris | 2014-01-12 20:28:19 -0500 |
|---|---|---|
| committer | Dustin Farris | 2014-01-12 20:28:19 -0500 |
| commit | 2332382b5109939238801e7d4c018455d159fe91 (patch) | |
| tree | 5fb1fe74cfd2f44618c2c4081a8cfa306d8773fb /rest_framework/tests | |
| parent | bf5b77ce6d171723f2d187aadd29c8ee4cdc3870 (diff) | |
| download | django-rest-framework-2332382b5109939238801e7d4c018455d159fe91.tar.bz2 | |
Add a sanity check to avoid running into unresolved related models.
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/test_models.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/rest_framework/tests/test_models.py b/rest_framework/tests/test_models.py new file mode 100644 index 00000000..5e92d48a --- /dev/null +++ b/rest_framework/tests/test_models.py @@ -0,0 +1,28 @@ +from django.db import models +from django.test import TestCase + +from rest_framework.models import resolve_model +from rest_framework.tests.models import BasicModel + + +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_non_django_model(self): + with self.assertRaises(ValueError): + resolve_model(TestCase) + + def test_resolve_with_improper_string_representation(self): + with self.assertRaises(ValueError): + resolve_model('BasicModel') |
