diff options
Diffstat (limited to 'tests/regressiontests/generic_inline_admin')
| -rw-r--r-- | tests/regressiontests/generic_inline_admin/models.py | 13 | ||||
| -rw-r--r-- | tests/regressiontests/generic_inline_admin/tests.py | 11 |
2 files changed, 23 insertions, 1 deletions
diff --git a/tests/regressiontests/generic_inline_admin/models.py b/tests/regressiontests/generic_inline_admin/models.py index 2925b7a801..329c4877eb 100644 --- a/tests/regressiontests/generic_inline_admin/models.py +++ b/tests/regressiontests/generic_inline_admin/models.py @@ -93,3 +93,16 @@ class PhoneNumberInline(generic.GenericTabularInline): model = PhoneNumber admin.site.register(Contact, inlines=[PhoneNumberInline]) + +# +# Generic inline with can_delete=False +# + +class EpisodePermanent(Episode): + pass + +class MediaPermanentInline(generic.GenericTabularInline): + model = Media + can_delete = False + +admin.site.register(EpisodePermanent, inlines=[MediaPermanentInline]) diff --git a/tests/regressiontests/generic_inline_admin/tests.py b/tests/regressiontests/generic_inline_admin/tests.py index 6853a896a4..0626699292 100644 --- a/tests/regressiontests/generic_inline_admin/tests.py +++ b/tests/regressiontests/generic_inline_admin/tests.py @@ -5,7 +5,8 @@ from django.conf import settings from django.contrib.contenttypes.generic import generic_inlineformset_factory # local test models -from models import Episode, EpisodeExtra, EpisodeMaxNum, EpisodeExclude, Media +from models import Episode, EpisodeExtra, EpisodeMaxNum, EpisodeExclude, \ + Media, EpisodePermanent, MediaPermanentInline class GenericAdminViewTest(TestCase): fixtures = ['users.xml'] @@ -201,3 +202,11 @@ class GenericInlineAdminWithUniqueTogetherTest(TestCase): response = self.client.get('/generic_inline_admin/admin/generic_inline_admin/contact/add/') response = self.client.post('/generic_inline_admin/admin/generic_inline_admin/contact/add/', post_data) self.failUnlessEqual(response.status_code, 302) # redirect somewhere + +class NoInlineDeletionTest(TestCase): + def test_no_deletion(self): + fake_site = object() + inline = MediaPermanentInline(EpisodePermanent, fake_site) + fake_request = object() + formset = inline.get_formset(fake_request) + self.assertFalse(formset.can_delete) |
