|
@@ -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):
|