@receiver(models.signals.post_save, sender=CustomFieldInstance, weak=False)
@receiver(models.signals.m2m_changed, sender=Document.tags.through, weak=False)
@receiver(models.signals.post_save, sender=Document, weak=False)
+@shared_task
def update_filename_and_move_files(
sender,
instance: Document | CustomFieldInstance,
cf_instance.save(update_fields=["value_select"])
# Update the filename and move files if necessary
- update_filename_and_move_files(sender, cf_instance)
+ update_filename_and_move_files.delay(sender, cf_instance)
@receiver(models.signals.post_delete, sender=CustomField)
from django.contrib.auth.models import Permission
from django.contrib.auth.models import User
+from django.test import override_settings
from rest_framework import status
from rest_framework.test import APITestCase
],
)
+ @override_settings(CELERY_TASK_ALWAYS_EAGER=True)
def test_custom_field_select_options_pruned(self):
"""
GIVEN:
self.assertEqual(generate_filename(doc), Path("document_apple.pdf"))
# handler should not have been called
- self.assertEqual(m.call_count, 0)
+ self.assertEqual(m.delay.call_count, 0)
cf.extra_data = {
"select_options": [
{"label": "aubergine", "id": "abc123"},
}
cf.save()
self.assertEqual(generate_filename(doc), Path("document_aubergine.pdf"))
- # handler should have been called
- self.assertEqual(m.call_count, 1)
+ # handler should have been called via delay
+ self.assertEqual(m.delay.call_count, 1)
class TestFileHandlingWithArchive(DirectoriesMixin, FileSystemAssertsMixin, TestCase):