@@ -506,7 +506,7 @@ def test_exact_tags(self):
506
506
507
507
@isolate_apps ("model_fields_" )
508
508
class CheckTests (SimpleTestCase ):
509
- def test_field_checks (self ):
509
+ def test_base_field_errors (self ):
510
510
class MyModel (models .Model ):
511
511
field = ArrayField (models .CharField (max_length = - 1 ))
512
512
@@ -515,7 +515,25 @@ class MyModel(models.Model):
515
515
self .assertEqual (len (errors ), 1 )
516
516
# The inner CharField has a non-positive max_length.
517
517
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 )
519
537
520
538
def test_invalid_base_fields (self ):
521
539
class MyModel (models .Model ):
0 commit comments