django-eav2/tests/test_set_and_get.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
2.3 KiB
Python
Raw Permalink Normal View History

2010-09-27 13:28:52 +00:00
from django.test import TestCase
import eav
2018-06-04 21:59:05 +00:00
from eav.registry import EavConfig
2021-07-04 15:59:24 +00:00
from test_project.models import Encounter, Patient
2010-09-27 13:28:52 +00:00
class RegistryTests(TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def register_encounter(self):
class EncounterEav(EavConfig):
manager_attr = "eav_objects"
eav_attr = "eav_field"
generic_relation_attr = "encounter_eav_values"
generic_relation_related_name = "encounters"
2018-04-06 14:24:34 +00:00
2021-06-17 23:38:46 +00:00
eav.register(Encounter, EncounterEav)
2010-09-27 13:28:52 +00:00
def test_registering_with_defaults(self):
eav.register(Patient)
self.assertTrue(hasattr(Patient, "_eav_config_cls"))
self.assertEqual(Patient._eav_config_cls.manager_attr, "objects")
2010-09-27 13:28:52 +00:00
self.assertFalse(Patient._eav_config_cls.manager_only)
self.assertEqual(Patient._eav_config_cls.eav_attr, "eav")
self.assertEqual(Patient._eav_config_cls.generic_relation_attr, "eav_values")
2021-06-17 23:38:46 +00:00
self.assertEqual(Patient._eav_config_cls.generic_relation_related_name, None)
2010-09-27 13:28:52 +00:00
eav.unregister(Patient)
def test_registering_overriding_defaults(self):
eav.register(Patient)
self.register_encounter()
self.assertTrue(hasattr(Patient, "_eav_config_cls"))
self.assertEqual(Patient._eav_config_cls.manager_attr, "objects")
self.assertEqual(Patient._eav_config_cls.eav_attr, "eav")
2010-09-27 13:28:52 +00:00
self.assertTrue(hasattr(Encounter, "_eav_config_cls"))
self.assertEqual(Encounter._eav_config_cls.manager_attr, "eav_objects")
self.assertEqual(Encounter._eav_config_cls.eav_attr, "eav_field")
2010-09-27 13:28:52 +00:00
eav.unregister(Patient)
eav.unregister(Encounter)
def test_unregistering(self):
old_mgr = Patient.objects
eav.register(Patient)
self.assertTrue(Patient.objects.__class__.__name__ == "EntityManager")
2010-09-27 13:28:52 +00:00
eav.unregister(Patient)
self.assertFalse(Patient.objects.__class__.__name__ == "EntityManager")
2010-09-27 13:28:52 +00:00
self.assertEqual(Patient.objects, old_mgr)
self.assertFalse(hasattr(Patient, "_eav_config_cls"))
2010-09-27 13:28:52 +00:00
def test_unregistering_unregistered_model_proceeds_silently(self):
eav.unregister(Patient)
def test_double_registering_model_is_harmless(self):
eav.register(Patient)
eav.register(Patient)