aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests
diff options
context:
space:
mode:
authorDustin Farris2014-01-12 20:28:19 -0500
committerDustin Farris2014-01-12 20:28:19 -0500
commit2332382b5109939238801e7d4c018455d159fe91 (patch)
tree5fb1fe74cfd2f44618c2c4081a8cfa306d8773fb /rest_framework/tests
parentbf5b77ce6d171723f2d187aadd29c8ee4cdc3870 (diff)
downloaddjango-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.py28
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')