|
5 | 5 | from libpythonpro.spam.modelos import Usuario |
6 | 6 |
|
7 | 7 |
|
| 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 | + |
8 | 19 | @pytest.mark.parametrize( |
9 | 20 | 'usuarios', |
10 | 21 | [ |
|
20 | 31 | def test_qde_de_spam(sessao, usuarios): |
21 | 32 | for usuario in usuarios: |
22 | 33 | sessao.salvar(usuario) |
23 | | - enviador = Enviador() |
| 34 | + enviador = EnviadorMock() |
24 | 35 | enviador_de_spam = EnviadorDeSpam(sessao, enviador) |
25 | 36 | enviador_de_spam.enviar_emails( |
26 | 37 | 'renzo@python.pro.br', |
27 | 38 | 'Curso Python Pro', |
28 | 39 | 'Confira os módulos fantásticos' |
29 | 40 | ) |
30 | 41 | assert len(usuarios) == enviador.qtd_email_enviados |
| 42 | + |
| 43 | + |
| 44 | +def test_parametros_de_spam(sessao): |
| 45 | + usuario = Usuario(nome='Renzo', email='renzo@python.pro.br') |
| 46 | + sessao.salvar(usuario) |
| 47 | + enviador = EnviadorMock() |
| 48 | + enviador_de_spam = EnviadorDeSpam(sessao, enviador) |
| 49 | + enviador_de_spam.enviar_emails( |
| 50 | + 'luciano@python.pro.br', |
| 51 | + 'Curso Python Pro', |
| 52 | + 'Confira os módulos fantásticos' |
| 53 | + ) |
| 54 | + assert enviador.parametros_de_envio == ( |
| 55 | + 'luciano@python.pro.br', |
| 56 | + 'renzo@python.pro.br', |
| 57 | + 'Curso Python Pro', |
| 58 | + 'Confira os módulos fantásticos' |
| 59 | + ) |
0 commit comments