diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/admin_utils/tests.py | 16 | ||||
| -rw-r--r-- | tests/admin_views/admin.py | 11 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 1 |
3 files changed, 27 insertions, 1 deletions
diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py index d2697ca87e..463ba9556d 100644 --- a/tests/admin_utils/tests.py +++ b/tests/admin_utils/tests.py @@ -286,6 +286,22 @@ class UtilsTests(SimpleTestCase): ("not Really the Model", MockModelAdmin.test_from_model) ) + def test_label_for_field_form_argument(self): + class ArticleForm(forms.ModelForm): + extra_form_field = forms.BooleanField() + + class Meta: + fields = '__all__' + model = Article + + self.assertEqual( + label_for_field('extra_form_field', Article, form=ArticleForm()), + 'Extra form field' + ) + msg = "Unable to lookup 'nonexistent' on Article or ArticleForm" + with self.assertRaisesMessage(AttributeError, msg): + label_for_field('nonexistent', Article, form=ArticleForm()), + def test_label_for_property(self): # NOTE: cannot use @property decorator, because of # AttributeError: 'property' object has no attribute 'short_description' diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index 8565d04a05..04cc6c79e7 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -91,6 +91,14 @@ class ChapterXtra1Admin(admin.ModelAdmin): ) +class ArticleForm(forms.ModelForm): + extra_form_field = forms.BooleanField(required=False) + + class Meta: + fields = '__all__' + model = Article + + class ArticleAdmin(admin.ModelAdmin): list_display = ( 'content', 'date', callable_year, 'model_year', 'modeladmin_year', @@ -101,10 +109,11 @@ class ArticleAdmin(admin.ModelAdmin): list_filter = ('date', 'section') autocomplete_fields = ('section',) view_on_site = False + form = ArticleForm fieldsets = ( ('Some fields', { 'classes': ('collapse',), - 'fields': ('title', 'content') + 'fields': ('title', 'content', 'extra_form_field'), }), ('Some other fields', { 'classes': ('wide',), diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 297d625376..df1936aa90 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -1768,6 +1768,7 @@ class AdminViewPermissionsTest(TestCase): response = self.client.get(article_change_url) self.assertEqual(response.status_code, 200) self.assertEqual(response.context['title'], 'View article') + self.assertContains(response, '<label>Extra form field:</label>') self.assertContains(response, '<a href="/test_admin/admin/admin_views/article/" class="closelink">Close</a>') post = self.client.post(article_change_url, change_dict) self.assertEqual(post.status_code, 302) |
