diff --git a/tests/conftest.py b/tests/conftest.py index 947f054d..9c3c2296 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -10,6 +10,7 @@ from tempfile import TemporaryDirectory from atst.app import make_app, make_config from atst.database import db as _db from atst.domain.auth import logout +from atst.queue import queue import tests.factories as factories from tests.mocks import PDF_FILENAME @@ -22,6 +23,7 @@ def app(request): config = make_config() config.update({"STORAGE_CONTAINER": upload_dir.name}) + config.update({"RQ_QUEUES": ["test"]}) _app = make_app(config) diff --git a/tests/test_queue.py b/tests/test_queue.py new file mode 100644 index 00000000..ff634347 --- /dev/null +++ b/tests/test_queue.py @@ -0,0 +1,16 @@ +import pytest +from atst.queue import queue, send_mail + +# ensure queue is always empty for unit testing +@pytest.fixture(scope="function", autouse=True) +def reset_queue(): + queue.get_queue().empty() + yield + queue.get_queue().empty() + +def test_send_mail(): + assert len(queue.get_queue()) == 0 + send_mail.queue( + ["lordvader@geocities.net"], "death start", "how is it coming along?" + ) + assert len(queue.get_queue()) == 1 diff --git a/tests/utils/test_mailer.py b/tests/utils/test_mailer.py index f06d6ee9..0506cfdc 100644 --- a/tests/utils/test_mailer.py +++ b/tests/utils/test_mailer.py @@ -47,3 +47,6 @@ def test_redis_mailer_can_save_messages(app): mailer.send(**message_data) assert len(mailer.messages) == 1 message = mailer.messages[0] + assert message_data["recipients"][0] in message + assert message_data["subject"] in message + assert message_data["body"] in message