from django.contrib.admin.forms import AdminAuthenticationForm from django.contrib.admin.helpers import AdminForm from django.contrib.auth.models import User from django.test import SimpleTestCase, TestCase, override_settings from .admin import ArticleForm # To verify that the login form rejects inactive users, use an authentication # backend that allows them. @override_settings(AUTHENTICATION_BACKENDS=['django.contrib.auth.backends.AllowAllUsersModelBackend']) class AdminAuthenticationFormTests(TestCase): @classmethod def setUpTestData(cls): User.objects.create_user(username='inactive', password='password', is_active=False) def test_inactive_user(self): data = { 'username': 'inactive', 'password': 'password', } form = AdminAuthenticationForm(None, data) self.assertEqual(form.non_field_errors(), ['This account is inactive.']) class AdminFormTests(SimpleTestCase): def test_repr(self): fieldsets = ( ('My fields', { 'classes': ['collapse'], 'fields': ('url', 'title', 'content', 'sites'), }), ) form = ArticleForm() admin_form = AdminForm(form, fieldsets, {}) self.assertEqual( repr(admin_form), "", )