Skip to content

Commit 9883b39

Browse files
author
renzon
committed
Trocado mock manual para código de mock da biblioteca padrao
1 parent a328bab commit 9883b39

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

libpythonpro/tests/test_spam/test_envio_para_base_de_usuarios.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
1+
from unittest.mock import Mock
2+
13
import pytest
24

35
from libpythonpro.spam.enviador_de_email import Enviador
46
from libpythonpro.spam.main import EnviadorDeSpam
57
from libpythonpro.spam.modelos import Usuario
68

79

8-
class EnviadorMock(Enviador):
9-
def __init__(self):
10-
super().__init__()
11-
self.qtd_email_enviados = 0
12-
self.parametros_de_envio = None
13-
14-
def enviar(self, remetente, destinatario, assunto, corpo):
15-
self.parametros_de_envio = (remetente, destinatario, assunto, corpo)
16-
self.qtd_email_enviados += 1
17-
18-
1910
@pytest.mark.parametrize(
2011
'usuarios',
2112
[
@@ -31,27 +22,27 @@ def enviar(self, remetente, destinatario, assunto, corpo):
3122
def test_qde_de_spam(sessao, usuarios):
3223
for usuario in usuarios:
3324
sessao.salvar(usuario)
34-
enviador = EnviadorMock()
25+
enviador = Mock()
3526
enviador_de_spam = EnviadorDeSpam(sessao, enviador)
3627
enviador_de_spam.enviar_emails(
3728
'renzo@python.pro.br',
3829
'Curso Python Pro',
3930
'Confira os módulos fantásticos'
4031
)
41-
assert len(usuarios) == enviador.qtd_email_enviados
32+
assert len(usuarios) == enviador.enviar.call_count
4233

4334

4435
def test_parametros_de_spam(sessao):
4536
usuario = Usuario(nome='Renzo', email='renzo@python.pro.br')
4637
sessao.salvar(usuario)
47-
enviador = EnviadorMock()
38+
enviador = Mock()
4839
enviador_de_spam = EnviadorDeSpam(sessao, enviador)
4940
enviador_de_spam.enviar_emails(
5041
'luciano@python.pro.br',
5142
'Curso Python Pro',
5243
'Confira os módulos fantásticos'
5344
)
54-
assert enviador.parametros_de_envio == (
45+
enviador.enviar.assert_called_once_with(
5546
'luciano@python.pro.br',
5647
'renzo@python.pro.br',
5748
'Curso Python Pro',

0 commit comments

Comments
 (0)