Add tests for scheduling

Closes #2523
This commit is contained in:
Matthias 2022-05-03 21:39:45 +02:00
parent 300558adb0
commit 5fa7b45d1d
No known key found for this signature in database
GPG Key ID: AB6D0E6C4CB65093

View File

@ -0,0 +1,29 @@
""" Unit tests for scheduled tasks"""
from django.test import TestCase
from plugin import registry
class ScheduledTaskPluginTests(TestCase):
""" Tests for ScheduledTaskPlugin """
def test_function(self):
"""check if the scheduling works"""
# The plugin should be defined
self.assertIn('schedule', registry.plugins)
plg = registry.plugins['schedule']
self.assertTrue(plg)
# check that the built-in function is running
plg.member_func()
# check that the tasks are defined
self.assertEqual(plg.get_task_names(), ['plugin.schedule.member', 'plugin.schedule.hello', 'plugin.schedule.world'])
# register
plg.register_tasks()
# check that schedule was registers
from django_q.models import Schedule
scheduled_plugin_tasks = Schedule.objects.filter(name__istartswith="plugin.")
self.assertEqual(len(scheduled_plugin_tasks), 3)