diff options
author | Xavier Fernandez <xavier.fernandez@beta.gouv.fr> | 2023-02-22 21:04:05 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-02-23 05:35:58 +0100 |
commit | 51c9bb7cd16081133af4f0ab6d06572660309730 (patch) | |
tree | 32d561be83447b8d372d0b9d4d9d29eebf2810da /tests/constraints | |
parent | dcd974698301a38081c141ccba6dcafa5ed2c80e (diff) | |
download | django-51c9bb7cd16081133af4f0ab6d06572660309730.tar.gz |
Refs #33829 -- Added violation_error_message to constraints' __repr__().
Diffstat (limited to 'tests/constraints')
-rw-r--r-- | tests/constraints/tests.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/constraints/tests.py b/tests/constraints/tests.py index e486a35b7a..b45dc6499a 100644 --- a/tests/constraints/tests.py +++ b/tests/constraints/tests.py @@ -160,6 +160,18 @@ class CheckConstraintTests(TestCase): "name='price_gt_discounted_price'>", ) + def test_repr_with_violation_error_message(self): + constraint = models.CheckConstraint( + check=models.Q(price__lt=1), + name="price_lt_one", + violation_error_message="More than 1", + ) + self.assertEqual( + repr(constraint), + "<CheckConstraint: check=(AND: ('price__lt', 1)) name='price_lt_one' " + "violation_error_message='More than 1'>", + ) + def test_invalid_check_types(self): msg = "CheckConstraint.check must be a Q instance or boolean expression." with self.assertRaisesMessage(TypeError, msg): @@ -486,6 +498,20 @@ class UniqueConstraintTests(TestCase): "name='book_func_uq'>", ) + def test_repr_with_violation_error_message(self): + constraint = models.UniqueConstraint( + models.F("baz__lower"), + name="unique_lower_baz", + violation_error_message="BAZ", + ) + self.assertEqual( + repr(constraint), + ( + "<UniqueConstraint: expressions=(F(baz__lower),) " + "name='unique_lower_baz' violation_error_message='BAZ'>" + ), + ) + def test_deconstruction(self): fields = ["foo", "bar"] name = "unique_fields" |