From c36b1ff0d791e3378c5e087b2ea005cd469fc846 Mon Sep 17 00:00:00 2001 From: Martin Burchell <martinb@aptivate.org> Date: Wed, 29 Jul 2015 15:37:14 +0100 Subject: [PATCH] Fixed item last_modified to update on term delete --- django/website/data_layer/models.py | 2 +- django/website/data_layer/tests/item_tests.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/django/website/data_layer/models.py b/django/website/data_layer/models.py index e669be8e..97fbebfa 100644 --- a/django/website/data_layer/models.py +++ b/django/website/data_layer/models.py @@ -55,7 +55,7 @@ Item = Message @receiver(models.signals.m2m_changed, sender=Item.terms.through, dispatch_uid="data_layer.models.terms_signal_handler") def terms_signal_handler(sender, **kwargs): - if kwargs.get('action') != 'post_add': + if kwargs.get('action') not in ('post_add', 'post_remove'): return if kwargs.get('reverse'): diff --git a/django/website/data_layer/tests/item_tests.py b/django/website/data_layer/tests/item_tests.py index 045d270b..8259a410 100644 --- a/django/website/data_layer/tests/item_tests.py +++ b/django/website/data_layer/tests/item_tests.py @@ -66,6 +66,18 @@ def test_last_modified_date_updates_on_item_category_add( assert num_updates(orig_last_modified, last_modified(item)) == 1 +@pytest.mark.django_db +def test_last_modified_date_updates_on_item_category_delete( + item, mock_time_now): + with patch('django.utils.timezone.now', new=mock_time_now): + term = TermFactory() + item.terms.add(term) + orig_last_modified = last_modified(item) + item.terms.remove(term) + + assert num_updates(orig_last_modified, last_modified(item)) == 1 + + @pytest.mark.django_db def test_last_modified_date_updates_on_category_item_add( item, mock_time_now): -- GitLab