django-polymorphic/polymorphic/tests/test_contrib.py

28 lines
893 B
Python

from unittest import TestCase
from polymorphic.contrib.guardian import get_polymorphic_base_content_type
from polymorphic.tests.models import Model2D, PlainC
class ContribTests(TestCase):
"""
The test suite
"""
def test_contrib_guardian(self):
# Regular Django inheritance should return the child model content type.
obj = PlainC()
ctype = get_polymorphic_base_content_type(obj)
self.assertEqual(ctype.name, "plain c")
ctype = get_polymorphic_base_content_type(PlainC)
self.assertEqual(ctype.name, "plain c")
# Polymorphic inheritance should return the parent model content type.
obj = Model2D()
ctype = get_polymorphic_base_content_type(obj)
self.assertEqual(ctype.name, "model2a")
ctype = get_polymorphic_base_content_type(Model2D)
self.assertEqual(ctype.name, "model2a")