Erro ai criar mock de uma classe
Criador
Iago Ribeiro de FReitas
Tenho o seguinte teste para realizar:
public function testExample()
{
$mockConfig = Mockery::mock(stdClass::class, ConfigComissaoVenda::class);
$calcComissao = new CalculadoraComissoes($mockConfig);
$comissao = $calcComissao->calcComissaoSistema(1);
$this->assertEquals(1,$comissao);
}
no entanto ele retorna o seguinte erro:
BadMethodCallException: Method Mockery_0_App_ConfigComissaoVenda::getAttribute() does not exist on this mock object
me ajudem!!
Criador
Iago Ribeiro de FReitas
para mais detalhes:
Construtor da classe CalculadoraComissoes:
public function __construct(ConfigComissaoVenda $config)
{
$this->venda = $config->venda;
$this->config = json_decode($config->config_comissao);
$this->sistema = Sistema::first();
$this->produto = $this->venda->getPlano()->produto;
$this->produtor = $this->produto->produtor;
$pagamento = $this->venda->getPagamento();
$this->qtdadePagamentosAprovados = $pagamento->parcela;
$this->jurosParcelamento = JurosParcelamento::first();
$this->valorLiquido = $this->valorLiquido();
$this->valorRestante = $this->valorLiquido;
$this->comissoesPendentes = array_filter($this->config->comissoes ?? [], function ($comissao) {
return $comissao->origem_type != 'Coprodutor';
});
$this->comissoesCoprodutor = array_filter($this->config->comissoes ?? [], function ($comissao) {
return $comissao->origem_type == 'Coprodutor';
});
Manager
Carlos Ferreira
Olá, Iago!
Tudo bem?
Tem o código no GitHub? Fica mais fácil para mim entender.
Porque aqui não ficou claro "ConfigComissaoVenda" é uma interface?
Se não for, pode criar o mock direto dela;
Precisa criar os métodos que for usar tb;
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!