Интеграционный тест Celery Pytest не работает должным образом с электронными письмами django

Я создал задание для celery и протестировал его как единое целое с помощью этого теста:

@pytest.mark.django_db
def test_document_expiry_alert_unit(settings):
    settings.CELERY_TASK_ALWAYS_EAGER = True

    manager = UserFactory(
        email="manager@mail.com", role=Role.MANAGER, organization__check_docs=True
    )
    doc = EmployeeDocumentFactory(user__organization=manager.organization)

    mail.outbox = []

    document_expiry_alert.delay()
    assert len(mail.outbox) == 1

    sent = mail.outbox[0]
    html_content = sent.alternatives[0][0]
    assert manager.email in sent.to
    assert doc.get_type_display() in html_content
    assert doc.user.get_full_name() in html_content
    assert "documents are expiring tomorrow" in sent.body

Это сработало, и тест прошел успешно, затем я попытался провести интеграционный тест, поэтому я установил celery[pytest] и добавил конфигурацию в pytest вместе с плагином в conftest.py, celery.contrib.pytest

Теперь я попробовал запустить этот тест:

@pytest.mark.django_db(transaction=True)
def test_document_expiry_alert_intergration(celery_app, celery_worker):
    manager = UserFactory(
        email="manager@mail.com", role=Role.MANAGER, organization__check_docs=True
    )
    EmployeeDocumentFactory(user__organization=manager.organization)

    mail.outbox = []

    celery_app.send_task("organizations.tasks.document_expiry_alert")
    celery_worker.reload()
    assert len(mail.outbox) == 1
    assert manager.email in mail.outbox[0].to

Но я получаю эту ошибку FAILED tests/organizations/task_tests.py::test_document_expiry_alert_intergration - assert 0 == 1 что означает, что в почтовый ящик не отправлено письмо, я попытался использовать @patch, чтобы имитировать отправку, но также получил нулевое количество вызовов. При запуске теста в моем терминале отображаются логи и инструкции для печати, так что все, что было до отправки электронного письма, все работает. Я использую django.core.mail.EmailMultiAlternatives для отправки электронного письма.

Вернуться на верх