summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/model_forms/tests.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/model_forms/tests.py b/tests/model_forms/tests.py
index fe9a153a90..f33278f88a 100644
--- a/tests/model_forms/tests.py
+++ b/tests/model_forms/tests.py
@@ -19,7 +19,7 @@ from django.forms.models import (
)
from django.forms.widgets import CheckboxSelectMultiple
from django.template import Context, Template
-from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
+from django.test import SimpleTestCase, TestCase, mock, skipUnlessDBFeature
from django.utils import six
from django.utils._os import upath
@@ -2943,6 +2943,16 @@ class LimitChoicesToTests(TestCase):
fields = fields_for_model(StumpJoke, ['has_fooled_today'])
self.assertSequenceEqual(fields['has_fooled_today'].queryset, [self.threepwood])
+ def test_callable_called_each_time_form_is_instantiated(self):
+ field = StumpJokeForm.base_fields['most_recently_fooled']
+ with mock.patch.object(field, 'limit_choices_to') as today_callable_dict:
+ StumpJokeForm()
+ self.assertEqual(today_callable_dict.call_count, 1)
+ StumpJokeForm()
+ self.assertEqual(today_callable_dict.call_count, 2)
+ StumpJokeForm()
+ self.assertEqual(today_callable_dict.call_count, 3)
+
class FormFieldCallbackTests(SimpleTestCase):