diff options
| author | Mads Jensen <mje@inducks.org> | 2017-10-10 13:00:56 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-10-20 10:15:11 -0400 |
| commit | 5114669f7296bfb58acb51fbed58d8a7617f05a3 (patch) | |
| tree | 68f75965352f2b2d88daa4f1a29428cdedf2caa0 | |
| parent | f7036b3e26745b944cd888fe7ed3f677b2caec8f (diff) | |
Refs #24031 -- Added test for Case and When constructor arguments.
| -rw-r--r-- | tests/expressions_case/tests.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py index 16c8a3d546..69e299bde9 100644 --- a/tests/expressions_case/tests.py +++ b/tests/expressions_case/tests.py @@ -8,7 +8,7 @@ from django.core.exceptions import FieldError from django.db import models from django.db.models import F, Max, Min, Q, Sum, Value from django.db.models.expressions import Case, When -from django.test import TestCase +from django.test import SimpleTestCase, TestCase from .models import CaseTestModel, Client, FKCaseTestModel, O2OCaseTestModel @@ -1287,3 +1287,17 @@ class CaseDocumentationExamples(TestCase): [('Jack Black', 'P')], transform=attrgetter('name', 'account_type') ) + + +class CaseWhenTests(SimpleTestCase): + def test_only_when_arguments(self): + msg = 'Positional arguments must all be When objects.' + with self.assertRaisesMessage(TypeError, msg): + Case(When(Q(pk__in=[])), object()) + + def test_invalid_when_constructor_args(self): + msg = '__init__() takes either a Q object or lookups as keyword arguments' + with self.assertRaisesMessage(TypeError, msg): + When(condition=object()) + with self.assertRaisesMessage(TypeError, msg): + When() |
