Skip to content
Snippets Groups Projects
Commit d8ba7513 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

fix tests

parent 50b65716
No related branches found
No related tags found
No related merge requests found
from typing import List
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText # noqa: F401
from contextlib import contextmanager from contextlib import contextmanager
from compendium_v2.db.auth_model import User from compendium_v2.db.auth_model import User
from compendium_v2.email import send_admin_signup_notification, send_user_signup_notification from compendium_v2.email import send_admin_signup_notification, send_user_signup_notification
def decode_message(msg: MIMEMultipart):
message: List[MIMEText] = msg.get_payload()
text: MIMEText = message[0]
decoded = text.get_payload(decode=True).decode('utf-8')
return decoded
@contextmanager @contextmanager
def test_user(app): def test_user(app):
with app.app_context(): with app.app_context():
...@@ -18,8 +28,10 @@ def test_user(app): ...@@ -18,8 +28,10 @@ def test_user(app):
def test_signup_email_admin(app, mocked_admin_user, mocker): def test_signup_email_admin(app, mocked_admin_user, mocker):
def _send_mail(*args, **kwargs): def _send_mail(*args, **kwargs):
_msg = args[-1]
decoded = decode_message(_msg)
message = 'testname has just signed up with the email testmail321@email.com and provider ID testsub' message = 'testname has just signed up with the email testmail321@email.com and provider ID testsub'
assert args[-1].split('\n\n')[-1] == message assert decoded == message
mocker.patch('compendium_v2.email._send_mail', _send_mail) mocker.patch('compendium_v2.email._send_mail', _send_mail)
with test_user(app) as user: with test_user(app) as user:
...@@ -29,7 +41,9 @@ def test_signup_email_admin(app, mocked_admin_user, mocker): ...@@ -29,7 +41,9 @@ def test_signup_email_admin(app, mocked_admin_user, mocker):
def test_signup_email_user(app, mocker): def test_signup_email_user(app, mocker):
def _send_mail(*args, **kwargs): def _send_mail(*args, **kwargs):
assert len(args[-1].split('\n\n', 1)[-1]) > 50 # check that there's a message _msg = args[-1]
decoded = decode_message(_msg)
assert len(decoded) > 50 # check that there's a message
mocker.patch('compendium_v2.email._send_mail', _send_mail) mocker.patch('compendium_v2.email._send_mail', _send_mail)
with test_user(app) as user: with test_user(app) as user:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment