public void EmprestimoAprovado() { var solicitacaoCredito = new SolicitacaoCreditoView() { TipoCredito = "Pessoa Física", ValorCredito = 14000.00M, QtdParcelas = 12, DataPrimeiraParcela = DateTime.Now.AddDays(16) }; decimal valorFinal = 19960.65M; decimal valorJuros = 5960.65M; var target = new credito.Servico.Credito(); var result = target.ValidarCredito(solicitacaoCredito); var mensagemAprovado = $"Aprovado. Crédito liberado no valor de R$ {solicitacaoCredito.ValorCredito}"; Console.WriteLine(result.ValorTotalComJuros); Console.WriteLine(result.ValorDosJuros); Assert.AreEqual(mensagemAprovado, result.StatusCrediro); Assert.AreEqual(valorFinal, result.ValorTotalComJuros); Assert.AreEqual(valorJuros, result.ValorDosJuros); }
[TestMethod] //Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00 public void EmprestimoPessoaJurica() { var solicitacaoCredito = new SolicitacaoCreditoView() { TipoCredito = "Pessoa Jurídica", ValorCredito = 15001M, QtdParcelas = 12, DataPrimeiraParcela = DateTime.Now.AddDays(16) }; var target = new credito.Servico.Credito(); var result = target.ValidarCredito(solicitacaoCredito); var mensagemAprovado = $"Aprovado. Crédito liberado no valor de R$ {solicitacaoCredito.ValorCredito}"; Assert.AreEqual(mensagemAprovado, result.StatusCrediro); }
public void EmprestimoReprovadoPrimeiraParcelaDataMaxima() { var solicitacaoCredito = new SolicitacaoCreditoView() { TipoCredito = "Pessoa Física", ValorCredito = 14000.00M, QtdParcelas = 12, DataPrimeiraParcela = DateTime.Now.AddDays(45) }; var target = new credito.Servico.Credito(); var result = target.ValidarCredito(solicitacaoCredito); var mensagemReprovada = "A Data da primeira parcela não pode ser superior a"; Assert.IsTrue(result.StatusCrediro.Contains(mensagemReprovada)); }
[TestMethod] //Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00 public void EmprestimoPessoaJuricaReprovadoValorMaximo() { var solicitacaoCredito = new SolicitacaoCreditoView() { TipoCredito = "Pessoa Jurídica", ValorCredito = 1000001M, QtdParcelas = 12, DataPrimeiraParcela = DateTime.Now.AddDays(16) }; var target = new credito.Servico.Credito(); var result = target.ValidarCredito(solicitacaoCredito); var mensagemAprovado = $"Reprovado. Valor superior a R$ 1.000.000,00. Valor solicitado R$ {solicitacaoCredito.ValorCredito}"; Assert.AreEqual(mensagemAprovado, result.StatusCrediro); }
[TestMethod] //Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00 public void EmprestimoPessoaJuricaReprovadoValorMinimo() { var solicitacaoCredito = new SolicitacaoCreditoView() { TipoCredito = "Pessoa Jurídica", ValorCredito = 14000M, QtdParcelas = 12, DataPrimeiraParcela = DateTime.Now.AddDays(16) }; var target = new credito.Servico.Credito(); var result = target.ValidarCredito(solicitacaoCredito); var mensagemAprovado = $"Recusado. Para o crédito de pessoa jurídica, o valor mínimo a ser liberado é de R$ 15.000,00"; Assert.AreEqual(mensagemAprovado, result.StatusCrediro); }
public CreditoView ValidarCredito(SolicitacaoCreditoView solicitacaoCredito) { var creditoView = new CreditoView(); ICreditoValor verificarValorMaximo = new VerificarValorMaximo(); ICreditoValor verificarValorTipoCredito = new VerificarValorTipoCredito(); ICreditoValor verificarQuantidadeParcelas = new VerificarQuantidadeParcealas(); ICreditoValor verificarDataPrimeiraParcela = new VerificarDataPrimeiraParcela(); verificarValorMaximo.Proximo = verificarValorTipoCredito; verificarValorTipoCredito.Proximo = verificarQuantidadeParcelas; verificarQuantidadeParcelas.Proximo = verificarDataPrimeiraParcela; var validacoes = verificarValorMaximo.Valor(solicitacaoCredito.ValorCredito, solicitacaoCredito.TipoCredito, solicitacaoCredito.QtdParcelas, solicitacaoCredito.DataPrimeiraParcela); if (!validacoes.Item3) { creditoView.Aprovado = validacoes.Item3; creditoView.StatusCrediro = validacoes.Item1; creditoView.ValorTotalComJuros = validacoes.Item2; creditoView.ValorDosJuros = 0; return(creditoView); } IJuros verificarJurosTipoCredito = new JurosTipoCredito(); IJuros calcularValores = new CalcularValorFinal(); verificarJurosTipoCredito.Proximo = calcularValores; var credito = verificarJurosTipoCredito.Valor(solicitacaoCredito.ValorCredito, solicitacaoCredito.TipoCredito, solicitacaoCredito.QtdParcelas, 0); creditoView.Aprovado = credito.Aprovado; creditoView.StatusCrediro = credito.StatusCrediro; creditoView.ValorTotalComJuros = credito.ValorTotalComJuros; creditoView.ValorDosJuros = credito.ValorDosJuros; return(creditoView); }
private static CreditoView CriarCredito(SolicitacaoCreditoView solicitacaoCredito) { var servico = new Servico.Credito(); return(servico.ValidarCredito(solicitacaoCredito)); }
public CreditoView Post([FromBody] SolicitacaoCreditoView solicitacaoCredito) { var _repository = new Servico.Credito(); return(_repository.ValidarCredito(solicitacaoCredito)); }