from django.core import mail from materia.views import enviar_emails, load_email_templates def test_email_template_loading(): expected = "Hello Django" emails = load_email_templates(['email/test_tramitacao.html'], context={"name": "Django"}) # strip \n and \r to compare with expected actual = emails[0].replace('\n', '').replace('\r', '') assert actual == expected def test_html_email_body_with_materia(): templates = load_email_templates(['email/tramitacao.txt', 'email/tramitacao.html'], {"image": 'img/logo.png', "casa_legislativa": "Assembléia Parlamentar", "data_registro": "25/02/2016", "cod_materia": "1", "descricao_materia": "Ementa de teste", "autoria": ["Autor1", "Autor2"], "data": "25/02/2016", "status": "Arquivado", "texto_acao": "Deliberado", "hash_txt": "abc01f", "materia_id": "794", "base_url": "http://localhost:8000", "materia_url": "/materia/764/acompanhar-materia", "excluir_url": "/materia/764/acompanhar-excluir"}) assert len(templates) == 2 def test_enviar_email_distintos(): NUM_MESSAGES = 10 messages = [{'recipient': 'user-' + str(i) + '@test.com', 'subject': 'subject: ' + str(i), 'txt_message': 'txt: ' + str(i), 'html_message': '', } for i in range(NUM_MESSAGES)] recipients = [m['recipient'] for m in messages] enviar_emails('test@sapl.com', recipients, messages) assert len(mail.outbox) == NUM_MESSAGES def test_enviar_same_email(): NUM_MESSAGES = 10 messages = [{'recipient': 'user-' + str(i) + '@test.com', 'subject': 'subject: ' + str(i), 'txt_message': 'txt: ' + str(i), 'html_message': '', } for i in range(NUM_MESSAGES)] recipients = [m['recipient'] for m in messages] enviar_emails('test@sapl.com', recipients, [messages[0]]) assert len(mail.outbox) == 1