Модульное тестирование для периодической задачи celery

У меня есть периодическая задача celery, реализованная для отправки электронной почты пользователям в определенную дату, установленную в модели, Как я могу написать модульный тест для следующей задачи celery.

@app.task(bind=True)
def send_email(self):
    send_date = timezone.now()
    records = Model.object.filter(due_date=send_date)
    
    for record in records:
        template_data = {
            'homepage_url': settings.WWW_ROOT,
            'domain_name': settings.DOMAIN_NAME,
            'inq': record.inq,
            'task_name': record.name,
            'task_created': record.created,
            'date': record.send_date,
         }

    user_emails = []

        if record.send_email_to_users:    **Boolean Flag on model**
            assignees_emails = []
            for user in record.users.all():
                user_emails.append(user.email)

           send_email_function(
                subject_template_path='',
                body_template_path='',
                template_data=template_data,
                to_email_list=user_emails,
                fail_silently=False,
                content_subtype='html'
            )
Вернуться на верх