From 91b4e7167d313c9b8f364a5ad9cdeef6fc5e384f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 12 Mar 2022 01:32:18 +0100 Subject: [PATCH] test that the task is running --- InvenTree/common/test_tasks.py | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 InvenTree/common/test_tasks.py diff --git a/InvenTree/common/test_tasks.py b/InvenTree/common/test_tasks.py new file mode 100644 index 0000000000..839362a466 --- /dev/null +++ b/InvenTree/common/test_tasks.py @@ -0,0 +1,35 @@ + +# -*- coding: utf-8 -*- +from django.test import TestCase +from datetime import timedelta, datetime + +from common.models import NotificationEntry +from InvenTree.tasks import offload_task + + +class TaskTest(TestCase): + """ + Tests for common tasks + """ + + def test_delete(self): + + self.assertEqual(NotificationEntry.objects.all().count(), 0) + # check empty run + offload_task('common.tasks.delete_old_notifications',) + + # add a new tasks + strat_data = datetime.now() + NotificationEntry.objects.create(key='part.notify_low_stock', uid=1) + late = NotificationEntry.objects.create(key='part.notify_low_stock', uid=2) + late.updated = (strat_data - timedelta(days=90)) + late.save() + later = NotificationEntry.objects.create(key='part.notify_low_stock', uid=3) + later.updated = (strat_data - timedelta(days=95)) + later.save() + + self.assertEqual(NotificationEntry.objects.all().count(), 3) + + # run again and check that old notifications were deleted + offload_task('common.tasks.delete_old_notifications',) + self.assertEqual(NotificationEntry.objects.all().count(), 1)