Executando verificação de segurança...
1

Dei uma rapida olhada no repositorio e pude notar alguns problemas.

Vi que você está utilizando depency injection, você deveria utilizar mais interfaces em conjunto.

  1. Nesse caso configurei para o Autorizador retornar "false" quando receber o valor de R$ 6,66
  2. Nesse caso configurei para o Autorizador retornar "504 Gateway Timeout" quando receber o valor de R$ 5,04

se você utilizar uma interface para registar o seu serviço, nesses dois casos você pode criar um mock para o seu serviço fazendo ele retornar "504 Gateway Timeout" ou qualquer outro problema. Implementar um return "504 Gateway Timeout" quando receber o valor de R$ 5,04 na sua classe é algo que não faz sentido.

Carregando publicação patrocinada...
1

Claro que dá pra abstrair a chamada pro serviço usando uma interface e mockar nos testes.

Mas escolhi fazer dessa forma para que meus testes executem o exato mesmo código que vai rodar em produção. Perceba que usando um mock eu não iria validar nos testes que a chamada http pro Autorizador e a política de retry estão funcionando.

1

Essa resposta nao faz muito sentido. Em produção você vai recusar todo pagamento com valor 6,66 e 5,04?

Seu teste não está testando a indisponibilidade do serviço, ele está testando se 6,66 e 5,04 vão ser recusados.

1