Exemple #1
0
 def test_telefonar_um_contato(self):
     telefonista = Telefonista()
     telefone_mock = Mock()
     telefonista._telefone = telefone_mock
     telefone_mock.telefonar = Mock(return_value='Tel fake para 2345678')
     contato = ('Renzo', '2345678')
     telefonista.adicionar_contato(*contato)
     resultado_da_ligacao = telefonista.ligar()
     telefone_mock.telefonar.assert_called_once_with('2345678')
     self.assertEqual('Contato Renzo, Tel fake para 2345678', resultado_da_ligacao)
 def test_ligar_para_um_contato(self):
     renzo = ('Renzo', '2345678')
     telefonista_obj = telefonista.Telefonista()
     telefonista_obj.adicionar(renzo)
     telefone_de_mentira = Mock()
     telefone_de_mentira.telefonar = Mock(return_value='Telefonando de mentira para 2345678')
     telefonista_obj._telefone = telefone_de_mentira
     ligacoes = list(telefonista_obj.ligar())
     self.assertListEqual(['Telefonando de mentira para 2345678. Olá Renzo'],
                          ligacoes)
     telefone_de_mentira.telefonar.assert_called_once_with(renzo[1])
    def test_ligar_para_dois_contato(self):
        renzo = ('Renzo', '2345678')
        karen = ('Karen', '8765432')
        telefonista_obj = telefonista.Telefonista()
        telefonista_obj.adicionar(renzo)
        telefonista_obj.adicionar(karen)

        def side_effect(numero):
            return 'Telefonando de mentira para {}'.format(numero)

        telefone_de_mentira = Mock()
        telefone_de_mentira.telefonar = Mock(side_effect=side_effect)
        telefonista_obj._telefone = telefone_de_mentira
        ligacoes = list(telefonista_obj.ligar())
        self.assertListEqual(['Telefonando de mentira para 2345678. Olá Renzo',
                              'Telefonando de mentira para 8765432. Olá Karen'],
                             ligacoes)
        telefone_de_mentira.telefonar.assert_any_call('2345678')
        telefone_de_mentira.telefonar.assert_any_call('8765432')
        self.assertEqual(2, telefone_de_mentira.telefonar.call_count)