summaryrefslogtreecommitdiff
path: root/tests/modeladmin/tests.py
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2013-06-07 11:15:34 +0100
committerAndrew Godwin <andrew@aeracode.org>2013-06-07 11:15:34 +0100
commit3c296382b8dea5de7f4e1e11b66bd7cecaf2ee51 (patch)
tree0ca12593be82971691ffca01a836d00d3fcb3bd4 /tests/modeladmin/tests.py
parent7609e0b42e0014a6ad0adf9dafc7018cb268070e (diff)
parent357d62d9f2972bf1bc21e5835c12c849143e06af (diff)
Merge remote-tracking branch 'core/master' into schema-alteration
Conflicts: django/db/models/fields/related.py
Diffstat (limited to 'tests/modeladmin/tests.py')
-rw-r--r--tests/modeladmin/tests.py267
1 files changed, 117 insertions, 150 deletions
diff --git a/tests/modeladmin/tests.py b/tests/modeladmin/tests.py
index 0d933bc1f9..805b57c070 100644
--- a/tests/modeladmin/tests.py
+++ b/tests/modeladmin/tests.py
@@ -7,7 +7,6 @@ from django.conf import settings
from django.contrib.admin.options import (ModelAdmin, TabularInline,
HORIZONTAL, VERTICAL)
from django.contrib.admin.sites import AdminSite
-from django.contrib.admin.validation import validate
from django.contrib.admin.widgets import AdminDateWidget, AdminRadioSelect
from django.contrib.admin import (SimpleListFilter,
BooleanFieldListFilter)
@@ -65,6 +64,30 @@ class ModelAdminTests(TestCase):
self.assertEqual(ma.get_fieldsets(request, self.band),
[(None, {'fields': ['name', 'bio', 'sign_date']})])
+ def test_get_fieldsets(self):
+ # Test that get_fieldsets is called when figuring out form fields.
+ # Refs #18681.
+
+ class BandAdmin(ModelAdmin):
+ def get_fieldsets(self, request, obj=None):
+ return [(None, {'fields': ['name', 'bio']})]
+
+ ma = BandAdmin(Band, self.site)
+ form = ma.get_form(None)
+ self.assertEqual(form._meta.fields, ['name', 'bio'])
+
+ class InlineBandAdmin(TabularInline):
+ model = Concert
+ fk_name = 'main_band'
+ can_delete = False
+
+ def get_fieldsets(self, request, obj=None):
+ return [(None, {'fields': ['day', 'transport']})]
+
+ ma = InlineBandAdmin(Band, self.site)
+ form = ma.get_formset(None).form
+ self.assertEqual(form._meta.fields, ['day', 'transport'])
+
def test_field_arguments(self):
# If we specify the fields argument, fieldsets_add and fielsets_change should
# just stick the fields into a formsets structure and return it.
@@ -523,8 +546,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.raw_id_fields' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -534,8 +556,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.raw_id_fields' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -545,15 +566,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.raw_id_fields\[0\]', 'name' must be either a ForeignKey or ManyToManyField.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
raw_id_fields = ('users',)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_fieldsets_validation(self):
@@ -563,8 +583,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.fieldsets' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -574,8 +593,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.fieldsets\[0\]' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -585,8 +603,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.fieldsets\[0\]' does not have exactly two elements.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -596,8 +613,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.fieldsets\[0\]\[1\]' must be a dictionary.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -607,15 +623,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'fields' key is required in ValidationTestModelAdmin.fieldsets\[0\]\[1\] field options dict.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
fieldsets = (("General", {"fields": ("name",)}),)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
class ValidationTestModelAdmin(ModelAdmin):
fieldsets = (("General", {"fields": ("name",)}),)
@@ -624,8 +639,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"Both fieldsets and fields are specified in ValidationTestModelAdmin.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -635,8 +649,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"There are duplicate field\(s\) in ValidationTestModelAdmin.fieldsets",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -646,8 +659,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"There are duplicate field\(s\) in ValidationTestModelAdmin.fields",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -662,8 +674,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"ValidationTestModelAdmin.form does not inherit from BaseModelForm.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -676,7 +687,7 @@ class ValidationTests(unittest.TestCase):
}),
)
- validate(BandAdmin, Band)
+ BandAdmin.validate(Band)
class AdminBandForm(forms.ModelForm):
delete = forms.BooleanField()
@@ -690,7 +701,7 @@ class ValidationTests(unittest.TestCase):
}),
)
- validate(BandAdmin, Band)
+ BandAdmin.validate(Band)
def test_filter_vertical_validation(self):
@@ -700,8 +711,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_vertical' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -711,8 +721,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_vertical' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -722,15 +731,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_vertical\[0\]' must be a ManyToManyField.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
filter_vertical = ("users",)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_filter_horizontal_validation(self):
@@ -740,8 +748,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_horizontal' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -751,8 +758,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_horizontal' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -762,15 +768,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.filter_horizontal\[0\]' must be a ManyToManyField.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
filter_horizontal = ("users",)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_radio_fields_validation(self):
@@ -780,8 +785,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.radio_fields' must be a dictionary.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -791,8 +795,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.radio_fields' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -802,8 +805,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.radio_fields\['name'\]' is neither an instance of ForeignKey nor does have choices set.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -813,15 +815,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.radio_fields\['state'\]' is neither admin.HORIZONTAL nor admin.VERTICAL.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
radio_fields = {"state": VERTICAL}
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_prepopulated_fields_validation(self):
@@ -831,8 +832,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.prepopulated_fields' must be a dictionary.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -842,8 +842,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.prepopulated_fields' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -853,8 +852,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.prepopulated_fields\['slug'\]\[0\]' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -864,15 +862,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.prepopulated_fields\['users'\]' is either a DateTimeField, ForeignKey or ManyToManyField. This isn't allowed.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
prepopulated_fields = {"slug": ("name",)}
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_list_display_validation(self):
@@ -882,8 +879,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_display' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -893,8 +889,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
str_prefix("ValidationTestModelAdmin.list_display\[0\], %(_)s'non_existent_field' is not a callable or an attribute of 'ValidationTestModelAdmin' or found in the model 'ValidationTestModel'."),
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -904,8 +899,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_display\[0\]', 'users' is a ManyToManyField which is not supported.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -917,7 +911,7 @@ class ValidationTests(unittest.TestCase):
pass
list_display = ('name', 'decade_published_in', 'a_method', a_callable)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_list_display_links_validation(self):
@@ -927,8 +921,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_display_links' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -938,8 +931,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_display_links\[0\]' refers to 'non_existent_field' which is not defined in 'list_display'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -949,8 +941,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_display_links\[0\]' refers to 'name' which is not defined in 'list_display'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -963,7 +954,7 @@ class ValidationTests(unittest.TestCase):
list_display = ('name', 'decade_published_in', 'a_method', a_callable)
list_display_links = ('name', 'decade_published_in', 'a_method', a_callable)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_list_filter_validation(self):
@@ -973,8 +964,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -984,8 +974,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter\[0\]' refers to 'non_existent_field' which does not refer to a Field.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -998,8 +987,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter\[0\]' is 'RandomClass' which is not a descendant of ListFilter.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1009,8 +997,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter\[0\]\[1\]' is 'RandomClass' which is not of type FieldListFilter.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1028,8 +1015,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter\[0\]\[1\]' is 'AwesomeFilter' which is not of type FieldListFilter.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1039,8 +1025,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.list_filter\[0\]' is 'BooleanFieldListFilter' which is of type FieldListFilter but is not associated with a field name.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1049,7 +1034,7 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
list_filter = ('is_active', AwesomeFilter, ('is_active', BooleanFieldListFilter), 'no')
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_list_per_page_validation(self):
@@ -1058,16 +1043,15 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestModelAdmin.list_per_page' should be a integer.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestModelAdmin.list_per_page' should be a int.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
list_per_page = 100
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_max_show_all_allowed_validation(self):
@@ -1076,16 +1060,15 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestModelAdmin.list_max_show_all' should be an integer.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestModelAdmin.list_max_show_all' should be a int.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
list_max_show_all = 200
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_search_fields_validation(self):
@@ -1095,8 +1078,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.search_fields' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1108,8 +1090,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.date_hierarchy' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1119,15 +1100,14 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.date_hierarchy is neither an instance of DateField nor DateTimeField.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
date_hierarchy = 'pub_date'
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_ordering_validation(self):
@@ -1137,8 +1117,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.ordering' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1148,8 +1127,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.ordering\[0\]' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1159,43 +1137,43 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.ordering' has the random ordering marker '\?', but contains other fields as well. Please either remove '\?' or the other fields.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
ordering = ('?',)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
class ValidationTestModelAdmin(ModelAdmin):
ordering = ('band__name',)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
class ValidationTestModelAdmin(ModelAdmin):
ordering = ('name',)
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_list_select_related_validation(self):
class ValidationTestModelAdmin(ModelAdmin):
list_select_related = 1
- six.assertRaisesRegex(self,
+ six.assertRaisesRegex(
+ self,
ImproperlyConfigured,
- "'ValidationTestModelAdmin.list_select_related' should be a boolean.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestModelAdmin.list_select_related' should be either a "
+ "bool, a tuple or a list",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
list_select_related = False
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_save_as_validation(self):
@@ -1204,16 +1182,15 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestModelAdmin.save_as' should be a boolean.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestModelAdmin.save_as' should be a bool.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
save_as = True
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_save_on_top_validation(self):
@@ -1222,16 +1199,15 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestModelAdmin.save_on_top' should be a boolean.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestModelAdmin.save_on_top' should be a bool.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
class ValidationTestModelAdmin(ModelAdmin):
save_on_top = True
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_inlines_validation(self):
@@ -1241,8 +1217,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.inlines' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1255,8 +1230,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.inlines\[0\]' does not inherit from BaseModelAdmin.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1269,8 +1243,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'model' is a required attribute of 'ValidationTestModelAdmin.inlines\[0\]'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1286,8 +1259,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestModelAdmin.inlines\[0\].model' does not inherit from models.Model.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1297,7 +1269,7 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
inlines = [ValidationTestInline]
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_fields_validation(self):
@@ -1311,8 +1283,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestInline.fields' must be a list or tuple.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1328,8 +1299,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestInline.fk_name' refers to field 'non_existent_field' that is missing from model 'modeladmin.ValidationTestInlineModel'.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1340,7 +1310,7 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
inlines = [ValidationTestInline]
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_extra_validation(self):
@@ -1353,9 +1323,8 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestInline.extra' should be a integer.",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestInline.extra' should be a int.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1366,7 +1335,7 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
inlines = [ValidationTestInline]
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_max_num_validation(self):
@@ -1379,9 +1348,8 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
- "'ValidationTestInline.max_num' should be an integer or None \(default\).",
- validate,
- ValidationTestModelAdmin,
+ "'ValidationTestInline.max_num' should be a int.",
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1392,7 +1360,7 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
inlines = [ValidationTestInline]
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)
def test_formset_validation(self):
@@ -1409,8 +1377,7 @@ class ValidationTests(unittest.TestCase):
six.assertRaisesRegex(self,
ImproperlyConfigured,
"'ValidationTestInline.formset' does not inherit from BaseModelFormSet.",
- validate,
- ValidationTestModelAdmin,
+ ValidationTestModelAdmin.validate,
ValidationTestModel,
)
@@ -1424,4 +1391,4 @@ class ValidationTests(unittest.TestCase):
class ValidationTestModelAdmin(ModelAdmin):
inlines = [ValidationTestInline]
- validate(ValidationTestModelAdmin, ValidationTestModel)
+ ValidationTestModelAdmin.validate(ValidationTestModel)