diff --git a/model_utils/tests/tests.py b/model_utils/tests/tests.py index 99869cc..3d3f2f7 100644 --- a/model_utils/tests/tests.py +++ b/model_utils/tests/tests.py @@ -2,6 +2,8 @@ from __future__ import unicode_literals from datetime import datetime, timedelta +from freezegun import freeze_time + try: from unittest import skipUnless except ImportError: # Python 2.6 @@ -261,6 +263,13 @@ class MonitorDoubleFieldTests(TestCase): # Only monitored fields passed to defer() are failing list(DoubleMonitored.objects.defer('name')) + def test_monitor_still_works_with_deferred_fields_filtered_out_of_save_initial(self): + obj = DoubleMonitored.objects.defer('name').get(name='Charlie') + with freeze_time("2016-12-01"): + obj.name = 'Charlie2' + obj.save() + self.assertEqual(obj.name_changed, datetime(2016, 12, 1)) + class StatusFieldTests(TestCase): diff --git a/tox.ini b/tox.ini index b096f7a..6ce334e 100644 --- a/tox.ini +++ b/tox.ini @@ -25,5 +25,6 @@ deps = django110: Django>=1.10,<1.11 django_trunk: https://github.com/django/django/tarball/master django{14,15,16}: South==1.0.2 + freezegun == 0.3.8 commands = coverage run -a setup.py test