diff options
Diffstat (limited to 'tests/admin_registration')
| -rw-r--r-- | tests/admin_registration/tests.py | 42 |
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): |
