@@ -506,7 +506,7 @@ def test_exact_tags(self):
506506
507507@isolate_apps ("model_fields_" )
508508class CheckTests (SimpleTestCase ):
509- def test_field_checks (self ):
509+ def test_base_field_errors (self ):
510510 class MyModel (models .Model ):
511511 field = ArrayField (models .CharField (max_length = - 1 ))
512512
@@ -515,7 +515,25 @@ class MyModel(models.Model):
515515 self .assertEqual (len (errors ), 1 )
516516 # The inner CharField has a non-positive max_length.
517517 self .assertEqual (errors [0 ].id , "django_mongodb.array.E001" )
518- self .assertIn ("max_length" , errors [0 ].msg )
518+ msg = errors [0 ].msg
519+ self .assertIn ("Base field for array has errors:" , msg )
520+ self .assertIn ("'max_length' must be a positive integer. (fields.E121)" , msg )
521+
522+ def test_base_field_warnings (self ):
523+ class WarningField (models .IntegerField ):
524+ def check (self ):
525+ return [checks .Warning ("Test warning" , obj = self , id = "test.E001" )]
526+
527+ class MyModel (models .Model ):
528+ field = ArrayField (WarningField (), default = None )
529+
530+ model = MyModel ()
531+ errors = model .check ()
532+ self .assertEqual (len (errors ), 1 )
533+ self .assertEqual (errors [0 ].id , "django_mongodb.array.W004" )
534+ msg = errors [0 ].msg
535+ self .assertIn ("Base field for array has warnings:" , msg )
536+ self .assertIn ("Test warning (test.E001)" , msg )
519537
520538 def test_invalid_base_fields (self ):
521539 class MyModel (models .Model ):
0 commit comments