public async Task E_Possivel_Realizar_Cotroller_BadRequest() { var serviceMock = new Mock <IPagamentoService>(); var Valor = Faker.RandomNumber.Next(0, 10000); var cartao = new cartao { titular = Faker.Name.FullName(), numero = Faker.Name.FullName(), cvv = Faker.Name.FullName(), bandeira = Faker.Name.FullName(), data_expiracao = Faker.Name.FullName() }; _controller = new PagamentoController(serviceMock.Object); _controller.ModelState.AddModelError("Name", "É um campo obrigatório"); Mock <IUrlHelper> url = new Mock <IUrlHelper>(); url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000"); _controller.Url = url.Object; var PagamentoDtoCreate = new PagamentoDtoCreate { Valor = Valor, Cartao = cartao, }; var result = await _controller.Post(PagamentoDtoCreate); ObjectResult resultValue = Assert.IsType <ObjectResult>(result); Assert.Equal(400, resultValue.StatusCode); Assert.Equal(resultValue.Value, "Ocorreu um Erro Desconhecido"); }
public async Task E_Possivel_Realizar_Cotroller_OutRange() { var serviceMock = new Mock <IPagamentoService>(); var Valor = Faker.RandomNumber.Next(-10, 0); var cartao = new cartao { titular = Faker.Name.FullName(), numero = Faker.Name.FullName(), cvv = Faker.Name.FullName(), bandeira = Faker.Name.FullName(), data_expiracao = Faker.Name.FullName(), }; _controller = new PagamentoController(serviceMock.Object); Mock <IUrlHelper> url = new Mock <IUrlHelper>(); url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000"); _controller.Url = url.Object; var PagamentoDtoCreate = new PagamentoDtoCreate { Valor = Valor, Cartao = cartao, }; var result = await _controller.Post(PagamentoDtoCreate); ObjectResult resultValue = Assert.IsType <ObjectResult>(result); Assert.Equal(412, resultValue.StatusCode); Assert.Equal(resultValue.Value, "Os valores informados não são válidos"); }
public async Task E_Possivel_Realizar_Cotroller_Created() { var serviceMock = new Mock <IPagamentoService>(); var Valor = Faker.RandomNumber.Next(0, 10000); var cartao = new cartao { titular = Faker.Name.FullName(), numero = Faker.Name.FullName(), cvv = Faker.Name.FullName(), bandeira = Faker.Name.FullName(), data_expiracao = Faker.Name.FullName(), }; _controller = new PagamentoController(serviceMock.Object); Mock <IUrlHelper> url = new Mock <IUrlHelper>(); url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000"); _controller.Url = url.Object; var PagamentoDtoCreate = new PagamentoDtoCreate { Valor = Valor, Cartao = cartao, }; var result = await _controller.Post(PagamentoDtoCreate); Assert.True(result is OkObjectResult); var resultValue = ((OkObjectResult)result).Value as PagamentoDtoCreateResult; Assert.NotNull(resultValue); Assert.Equal(PagamentoDtoCreate.Valor, resultValue.Valor); Assert.Equal("Aprovado", resultValue.Estado); }
static void Main(string[] args) { /*Os bancos oferecem aos clientes a possibilidade de obter um cartão de crédito que pode ser utilizados para fazer compras. * Um cartão de crédito possui um número e uma data de validade. * Crie uma classe para modelar os objetos que representarão os cartões de crédito. * Crie dois objetos da classe Cartão De Credito. * Altere e imprima os atributos desses objetos.*/ cartao cartao1 = new cartao(); cartao cartao2 = new cartao(); Console.WriteLine("Insira o número do primeiro cartão!"); cartao1.num = int.Parse(Console.ReadLine()); Console.WriteLine("Insira a validade (MM/AAAA) do primeiro cartão!"); cartao1.valid = Console.ReadLine(); Console.WriteLine("Insira o número do segundo cartão!"); cartao2.num = int.Parse(Console.ReadLine()); Console.WriteLine("Insira a validade (MM/AAAA) do segundo cartão!"); cartao2.valid = Console.ReadLine(); Console.WriteLine($"O primeiro cartão é o de nº {cartao1.num} e tem data de vencimento prevista para {cartao1.valid}"); Console.WriteLine($"O segundo cartão é o de nº {cartao2.num} e data de vencimento prevista para {cartao2.valid}"); }
public ActionResult RealizarPagamento() { //Metodos pra preencher Todos os campos para FINALIZAR a venda. //Pedir campos para preenchimento do cartão caso necessario. //OBS: Caso necessario já ter Cartão registrado ou cadastrar. //Capturando a Sessão. string sessionId = Session["id"].ToString(); //Instanciando a Venda. venda venda = new venda(); var escolha = Request.Form["radioFormaPagamento"]; //Instanciando o ItemCarrinho List <ItemCarrinho> carrinho = new List <ItemCarrinho>(); //Capturando a Sessão do Carrinho carrinho = (List <ItemCarrinho>)Session["Carrinho"]; //Realizando Validação da conta. if ((sessionId != null)) { venda.Conta = db.Conta.Find(Convert.ToInt32(sessionId)); } else { return(RedirectToAction("Logar", "contas")); } //Preenchendo a Data da Venda = "Agora". venda.dataVenda = DateTime.Now; //Percorrendo todos os itens do carrinho. foreach (ItemCarrinho itemCarrinho in carrinho) { venda.vlrTotal += (itemCarrinho.produto.preco * itemCarrinho.quantidade); //Gravando os dados no ItemCarrinho na base. db.ItemVenda.Add(itemCarrinho); } boleto boleto = new boleto(); cartao cartao = new cartao(); //Verificando quais os metodos para criar Boleto ou Capturar o Cartão. if (escolha == "Boleto") { //boleto = GerarBoleto(); } if (escolha == "Cartao")//VERIFICAR PORQUE NAO RECUPERA O FORM. { cartao.numero = Request.Form["NumeroCartao"]; cartao.datevalidade = Request.Form["Mes"] + Request.Form["Ano"]; cartao.codigoseguranca = Request.Form["CodigoSeg"]; } //Preenchendo a forma de pagamento. //Gravando os dados da Venda. db.venda.Add(venda); //Salvando Alterações. db.SaveChanges(); //ESPAÇO PARA REALIZAR OS METODOS DE CRIAÇÂO DE BOLETO //EXEMPLO: //GerarBoleto(db.venda); //Abre o PDF. //Retorna compra de Sucesso ou mensagem de Erro. return(View()); }