summaryrefslogtreecommitdiff
path: root/tests/model_fields/test_integerfield.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_fields/test_integerfield.py')
-rw-r--r--tests/model_fields/test_integerfield.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/model_fields/test_integerfield.py b/tests/model_fields/test_integerfield.py
index 626b67b00b..c72cb48015 100644
--- a/tests/model_fields/test_integerfield.py
+++ b/tests/model_fields/test_integerfield.py
@@ -137,6 +137,23 @@ class IntegerFieldTests(TestCase):
instance = self.model.objects.get(value='10')
self.assertEqual(instance.value, 10)
+ def test_invalid_value(self):
+ tests = [
+ (TypeError, ()),
+ (TypeError, []),
+ (TypeError, {}),
+ (TypeError, set()),
+ (TypeError, object()),
+ (TypeError, complex()),
+ (ValueError, 'non-numeric string'),
+ (ValueError, b'non-numeric byte-string'),
+ ]
+ for exception, value in tests:
+ with self.subTest(value):
+ msg = "Field 'value' expected a number but got %r." % (value,)
+ with self.assertRaisesMessage(exception, msg):
+ self.model.objects.create(value=value)
+
class SmallIntegerFieldTests(IntegerFieldTests):
model = SmallIntegerModel