|
1 | 1 | import pytest
|
| 2 | +from sqlalchemy.orm import Session |
2 | 3 |
|
3 |
| -from app.internal.email import mail, send_email_invitation, send_email_file |
| 4 | +from app.internal.email import mail, send_email_invitation, send_email_file, send |
4 | 5 | from fastapi import BackgroundTasks, status
|
5 | 6 |
|
| 7 | +from app.database.models import User |
| 8 | +from tests.utils import create_model, delete_instance |
| 9 | + |
6 | 10 |
|
7 | 11 | def test_email_send(client, user, event, smtpd):
|
8 | 12 | mail.config.SUPPRESS_SEND = 1
|
@@ -207,3 +211,24 @@ def test_send_mail_bad_file_internal(client,
|
207 | 211 | def test_send_mail_good_file_internal(client, configured_smtpd):
|
208 | 212 | background_task = BackgroundTasks()
|
209 | 213 | assert send_email_file(__file__, "good@mail.com", background_task)
|
| 214 | + |
| 215 | + |
| 216 | +@pytest.fixture |
| 217 | +def bad_user(session: Session) -> User: |
| 218 | + test_user = create_model( |
| 219 | + session, User, |
| 220 | + username='test_username', |
| 221 | + password='test_password', |
| 222 | + email='test.email#gmail.com', |
| 223 | + ) |
| 224 | + yield test_user |
| 225 | + delete_instance(session, test_user) |
| 226 | + |
| 227 | + |
| 228 | +def test_send(session, bad_user, event): |
| 229 | + background_task = BackgroundTasks() |
| 230 | + assert not send(session=session, |
| 231 | + event_used=1, |
| 232 | + user_to_send=1, |
| 233 | + title="Test", |
| 234 | + background_tasks=background_task) |
0 commit comments