diff options
| author | Nick Pope <nick@nickpope.me.uk> | 2023-08-08 18:55:10 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-08-08 18:57:15 +0200 |
| commit | aa3cb3f37265be37d892e2b391ff023e9caee2a4 (patch) | |
| tree | cf8a7a73e33c186cf2b917c7740a71e06cf2d4aa /tests/invalid_models_tests/test_ordinary_fields.py | |
| parent | 5aa4c0b67549f1d7ab649f53ac782d8de3e6a87c (diff) | |
Added IntegerField tests for checks for invalid choices.
Diffstat (limited to 'tests/invalid_models_tests/test_ordinary_fields.py')
| -rw-r--r-- | tests/invalid_models_tests/test_ordinary_fields.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/invalid_models_tests/test_ordinary_fields.py b/tests/invalid_models_tests/test_ordinary_fields.py index e9e8a702e0..063c99e8bd 100644 --- a/tests/invalid_models_tests/test_ordinary_fields.py +++ b/tests/invalid_models_tests/test_ordinary_fields.py @@ -845,6 +845,41 @@ class IntegerFieldTests(SimpleTestCase): ], ) + def test_non_iterable_choices(self): + class Model(models.Model): + field = models.IntegerField(choices=123) + + field = Model._meta.get_field("field") + self.assertEqual( + field.check(), + [ + Error( + "'choices' must be an iterable (e.g., a list or tuple).", + obj=field, + id="fields.E004", + ), + ], + ) + + def test_non_iterable_choices_number(self): + """An integer isn't a valid choice pair.""" + + class Model(models.Model): + field = models.IntegerField(choices=[123]) + + field = Model._meta.get_field("field") + self.assertEqual( + field.check(), + [ + Error( + "'choices' must be an iterable containing (actual value, human " + "readable name) tuples.", + obj=field, + id="fields.E005", + ), + ], + ) + @isolate_apps("invalid_models_tests") class TimeFieldTests(SimpleTestCase): |
