imobanco / zoop-wrapper

Cliente não oficial Zoop Python, para realizar integração com o gateway de pagamento, voltado para os subvendedores do MarkePlace e extendendo seu suporte
https://zoop-wrapper.readthedocs.io/
GNU General Public License v3.0
1 stars 1 forks source link

Complementar os testes que tem chamada super() #79

Open rodrigondec opened 4 years ago

rodrigondec commented 4 years ago

Resumo

Nossos testes de conjuntos estão testando apenas o conjuto de dados hard-coded. Porém não testam a chamada do método super corretamente.

Tarefas

Exemplo

Método

    @classmethod
    def get_required_fields(cls):
        fields = super().get_required_fields()
        return fields.union({"expiration_date", "payment_limit_date"})

Teste

    def test_required_fields(self):
        self.assertIsSubSet(
            {"expiration_date", "payment_limit_date"}, Invoice.get_required_fields()
        )

Proposta para o teste

    def test_required_fields(self):
        with patch("caminho.do.import.do.objeto.pai.ObjetoPai.get_required_fields") as mocked_super:
            mocked_super.return_value = set()
            self.assertIsSubSet(
                {"expiration_date", "payment_limit_date"}, Invoice.get_required_fields()
            )
            mocked_super.assert_called_once()
PedroRegisPOAR commented 4 years ago

Chequei o BusinessOrIndividual e seus testes, pelo que entendi/vi não há necessidade de se modificar os testes desse, pois não tem chamadas a super() nos métodos da classe BusinessOrIndividual. @rodrigondec em algum momento me confirme que não é preciso mexer nos testes do BusinessOrIndividual.

rodrigondec commented 4 years ago

Ele não tem o super() mas tem o cls.get...

image

Seria bom mockar esse método e dar um assert de que foi chamado