summaryrefslogtreecommitdiff
path: root/tests/model_inheritance_same_model_name/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_inheritance_same_model_name/tests.py')
-rw-r--r--tests/model_inheritance_same_model_name/tests.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/model_inheritance_same_model_name/tests.py b/tests/model_inheritance_same_model_name/tests.py
new file mode 100644
index 0000000000..13d51f1a67
--- /dev/null
+++ b/tests/model_inheritance_same_model_name/tests.py
@@ -0,0 +1,36 @@
+from __future__ import absolute_import
+
+from django.test import TestCase
+
+from ..model_inheritance.models import Title
+
+
+class InheritanceSameModelNameTests(TestCase):
+
+ def setUp(self):
+ # The Title model has distinct accessors for both
+ # model_inheritance.Copy and model_inheritance_same_model_name.Copy
+ # models.
+ self.title = Title.objects.create(title='Lorem Ipsum')
+
+ def test_inheritance_related_name(self):
+ from modeltests.model_inheritance.models import Copy
+ self.assertEqual(
+ self.title.attached_model_inheritance_copy_set.create(
+ content='Save $ on V1agr@',
+ url='http://v1agra.com/',
+ title='V1agra is spam',
+ ), Copy.objects.get(content='Save $ on V1agr@'))
+
+ def test_inheritance_with_same_model_name(self):
+ from modeltests.model_inheritance_same_model_name.models import Copy
+ self.assertEqual(
+ self.title.attached_model_inheritance_same_model_name_copy_set.create(
+ content='The Web framework for perfectionists with deadlines.',
+ url='http://www.djangoproject.com/',
+ title='Django Rocks'
+ ), Copy.objects.get(content='The Web framework for perfectionists with deadlines.'))
+
+ def test_related_name_attribute_exists(self):
+ # The Post model doesn't have an attribute called 'attached_%(app_label)s_%(class)s_set'.
+ self.assertEqual(hasattr(self.title, 'attached_%(app_label)s_%(class)s_set'), False)