summaryrefslogtreecommitdiff
path: root/tests/admin_registration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_registration')
-rw-r--r--tests/admin_registration/tests.py42
1 files changed, 28 insertions, 14 deletions
diff --git a/tests/admin_registration/tests.py b/tests/admin_registration/tests.py
index 25f317d322..c8caf3f202 100644
--- a/tests/admin_registration/tests.py
+++ b/tests/admin_registration/tests.py
@@ -22,13 +22,13 @@ class TestRegistration(SimpleTestCase):
def test_bare_registration(self):
self.site.register(Person)
- self.assertIsInstance(self.site._registry[Person], admin.ModelAdmin)
+ self.assertIsInstance(self.site.get_model_admin(Person), admin.ModelAdmin)
self.site.unregister(Person)
self.assertEqual(self.site._registry, {})
def test_registration_with_model_admin(self):
self.site.register(Person, NameAdmin)
- self.assertIsInstance(self.site._registry[Person], NameAdmin)
+ self.assertIsInstance(self.site.get_model_admin(Person), NameAdmin)
self.site.unregister(Person)
self.assertEqual(self.site._registry, {})
@@ -57,22 +57,28 @@ class TestRegistration(SimpleTestCase):
def test_registration_with_star_star_options(self):
self.site.register(Person, search_fields=["name"])
- self.assertEqual(self.site._registry[Person].search_fields, ["name"])
+ self.assertEqual(self.site.get_model_admin(Person).search_fields, ["name"])
+
+ def test_get_model_admin_unregister_model(self):
+ msg = "The model Person is not registered."
+ with self.assertRaisesMessage(admin.sites.NotRegistered, msg):
+ self.site.get_model_admin(Person)
def test_star_star_overrides(self):
self.site.register(
Person, NameAdmin, search_fields=["name"], list_display=["__str__"]
)
- self.assertEqual(self.site._registry[Person].search_fields, ["name"])
- self.assertEqual(self.site._registry[Person].list_display, ["__str__"])
- self.assertTrue(self.site._registry[Person].save_on_top)
+ person_admin = self.site.get_model_admin(Person)
+ self.assertEqual(person_admin.search_fields, ["name"])
+ self.assertEqual(person_admin.list_display, ["__str__"])
+ self.assertIs(person_admin.save_on_top, True)
def test_iterable_registration(self):
self.site.register([Person, Place], search_fields=["name"])
- self.assertIsInstance(self.site._registry[Person], admin.ModelAdmin)
- self.assertEqual(self.site._registry[Person].search_fields, ["name"])
- self.assertIsInstance(self.site._registry[Place], admin.ModelAdmin)
- self.assertEqual(self.site._registry[Place].search_fields, ["name"])
+ self.assertIsInstance(self.site.get_model_admin(Person), admin.ModelAdmin)
+ self.assertEqual(self.site.get_model_admin(Person).search_fields, ["name"])
+ self.assertIsInstance(self.site.get_model_admin(Place), admin.ModelAdmin)
+ self.assertEqual(self.site.get_model_admin(Place).search_fields, ["name"])
self.site.unregister([Person, Place])
self.assertEqual(self.site._registry, {})
@@ -116,18 +122,26 @@ class TestRegistrationDecorator(SimpleTestCase):
def test_basic_registration(self):
register(Person)(NameAdmin)
- self.assertIsInstance(self.default_site._registry[Person], admin.ModelAdmin)
+ self.assertIsInstance(
+ self.default_site.get_model_admin(Person), admin.ModelAdmin
+ )
self.default_site.unregister(Person)
def test_custom_site_registration(self):
register(Person, site=self.custom_site)(NameAdmin)
- self.assertIsInstance(self.custom_site._registry[Person], admin.ModelAdmin)
+ self.assertIsInstance(
+ self.custom_site.get_model_admin(Person), admin.ModelAdmin
+ )
def test_multiple_registration(self):
register(Traveler, Place)(NameAdmin)
- self.assertIsInstance(self.default_site._registry[Traveler], admin.ModelAdmin)
+ self.assertIsInstance(
+ self.default_site.get_model_admin(Traveler), admin.ModelAdmin
+ )
self.default_site.unregister(Traveler)
- self.assertIsInstance(self.default_site._registry[Place], admin.ModelAdmin)
+ self.assertIsInstance(
+ self.default_site.get_model_admin(Place), admin.ModelAdmin
+ )
self.default_site.unregister(Place)
def test_wrapped_class_not_a_model_admin(self):