public void AdicionarItemAoCarrinho() { //preparação (Arrange) e o estímulo (Act), das verificações (Asserts) Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "Teste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 3); CarrinhoController controller = new CarrinhoController(); //Act controller.Adicionar(carrinho, 2,1, ""); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2); Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1); }
public void AdicionarProdutoExistenteParaCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "TEste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.AdicionarItem(produto1, 10); ItemCarrinho[] resultado = carrinho.ItensCarrinho .OrderBy(c => c.Produto.ProdutoId) .ToArray(); Assert.AreEqual(resultado.Length, 2); Assert.AreEqual(resultado[0].Quantidade, 11); Assert.AreEqual(resultado[1].Quantidade, 1); }
public void AdicionarItensAoCarrinho() { //Arrange - criação dos produtos Produto produto1 = new Produto() { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto() { ProdutoId = 2, Nome = "Teste 2" }; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 2); carrinho.AdicionarItem(produto2,3); //Act - Agir ItemCarrinho[] itens = carrinho.ItensCarrinho.ToArray(); //Assert (Testando se a quantidade de itens é igual a 2) Assert.AreEqual(itens.Length,2); //Assert (Testando se o produto é igual ou não) Assert.AreEqual(itens[0].Produto,produto1); Assert.AreEqual(itens[1].Produto,produto2); }
public void PodeAdicionarProdutoExistenteNoCarrinho() { //Arrange Produto produto1 = new Produto { ProdutoId = 1, Descricao = "Bola de Futebol", Categoria = "Futebol" }; Produto produto2 = new Produto { ProdutoId = 2, Descricao = "Bola de Basquete", Categoria = "Basquete" }; Carrinho carrinho = new Carrinho(); //Act carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.AdicionarItem(produto1, 10); ItemCarrinho[] itens = carrinho.ItensCarrinho.OrderBy(c => c.Produto.ProdutoId).ToArray(); //Assert Assert.AreEqual(itens.Length, 2); Assert.AreEqual(itens[0].Produto, produto1); Assert.AreEqual(itens[1].Produto, produto2); }
public ViewResult FecharPedido(Carrinho carrinho, Pedido pedido) { //Carrinho carrinho = ObterCarrinho(); EmailConfiguracoes email = new EmailConfiguracoes { EscreverArquivo = bool.Parse(ConfigurationManager.AppSettings["Email.EscreverArquivo"] ?? "false") }; EmailPedido emailpedido = new EmailPedido(email); //Se estiver vazio mostre a mensagem de erro if (!carrinho.ItensCarrinho.Any()) { ModelState.AddModelError("","Não foi possível concluir o pedido, seu carrinho está vazio!!!"); } //Se todos os campos estiverem preenchidos gravar o pedido if (ModelState.IsValid) { emailpedido.ProcessarPedido(carrinho,pedido); carrinho.LimparCarrinho(); return View("PedidoConcluido"); } else { return View(pedido); } }
public ViewResult FecharPedido(Carrinho carrinho, Pedido pedido) { EmailConfiguracoes email = new EmailConfiguracoes { EscreverArquivo = bool.Parse(ConfigurationManager.AppSettings["Email.EscreverArquivo"] ?? "false") }; EmailPedido emailPedido = new EmailPedido(email); if (!carrinho.ItensCarrinho.Any()) { ModelState.AddModelError("", "Não foi possivel concluir o pedido, seu carrinho está vazio"); } if (ModelState.IsValid) { emailPedido.ProcessarPedido(carrinho, pedido); carrinho.LimpparCarrinho(); return View("PedidoConcluido"); } else { return View(pedido); } }
public void AdicionarItensAoCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "TEste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 2); carrinho.AdicionarItem(produto2, 3); ItemCarrinho[] itens = carrinho.ItensCarrinho.ToArray(); Assert.AreEqual(itens.Length, 2); Assert.AreEqual(itens[0].Produto, produto1); Assert.AreEqual(itens[1].Produto, produto2); }
public void AdicionarItemAoCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "Teste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1,3); carrinho.AdicionarItem(produto2, 4); CarrinhoController controller = new CarrinhoController(); //Act controller.Adicionar(carrinho, 2, ""); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Count(),2); Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId,1); }
public ViewResult Index(Carrinho carrinho, string returnUrl) { return View(new CarrinhoViewModel { Carrinho = carrinho, ReturnUrl = returnUrl }); }
public void ProcessarPedido(Carrinho carrinho, Pedido pedido) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = _emailConfiguracoes.UsarSsl; smtpClient.Host = _emailConfiguracoes.ServidorSmtp; smtpClient.Port = _emailConfiguracoes.ServidorPorta; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential( _emailConfiguracoes.Usuario, _emailConfiguracoes.ServidorSmtp ); if (_emailConfiguracoes.EscreverArquivo) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = _emailConfiguracoes.PastaArquivo; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("Novo Pedido:") .AppendLine("-------") .AppendLine("Itens"); foreach (var item in carrinho.ItensCarrinho) { var subtotal = item.Produto.Preco * item.Quantidade; body.AppendFormat("{0} x {1} (subtotal: {2:c}", item.Quantidade, item.Produto.Nome, subtotal); } body.AppendFormat("Valor total do peido: {0:c}", carrinho.ObterValorTotal()) .AppendLine("--------------------") .AppendLine("Enviar para:") .AppendLine(pedido.NomeCliente) .AppendLine(pedido.Email) .AppendLine(pedido.Endereco ?? "") .AppendLine(pedido.Cidade ?? "") .AppendLine(pedido.Complemento ?? "") .AppendLine("--------------------") .AppendFormat("Para presente?: {0}", pedido.EmbrulhaPresente ? "Sim" : "Não"); MailMessage mailMessage = new MailMessage( _emailConfiguracoes.De, _emailConfiguracoes.Para, "Novo peido", body.ToString()); if (_emailConfiguracoes.EscreverArquivo) { mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1"); } smtpClient.Send(mailMessage); } }
private Carrinho ObterCarrinho() { Carrinho carrinho = (Carrinho) Session["Carrinho"]; if (carrinho == null) { carrinho = new Carrinho(); Session["Carrinho"] = carrinho; } return carrinho; }
public RedirectToRouteResult Adicionar(Carrinho carrinho, int produtoId, int quantidade, string returnUrl) { _repositorio = new ProdutosRepositorio(); Produto produto = _repositorio.Produtos.FirstOrDefault(p => p.ProdutoId == produtoId); if (produto != null) { carrinho.AdicionarItem(produto,quantidade); } return RedirectToAction("Index", new {returnUrl}); }
public void AdcionarProdutoExistenteAoCarrinho() { // Arrange - Criação dos Produtos Produto _produto1 = new Produto { Categoria = "Categoria 1", Descricao = "Produto 1", IdProduto = 1, Nome = "Produto Teste 1", Preco = 1.0m }; Produto _produto2 = new Produto { Categoria = "Categoria 1", Descricao = "Produto 1", IdProduto = 2, Nome = "Produto Teste 1", Preco = 2.0m }; Produto _produto3 = new Produto { Categoria = "Categoria 3", Descricao = "Produto 3", IdProduto = 3, Nome = "Produto Teste 3", Preco = 3.0m }; // Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(_produto1, 1); carrinho.AdicionarItem(_produto2, 1); carrinho.AdicionarItem(_produto1, 10); // Action ItemCarrinho[] itens = carrinho .ItensCarrinho .OrderBy(c => c.Produto.IdProduto) .ToArray(); //Assert Assert.AreEqual(itens.Length, 2); Assert.AreEqual(itens[0].Quantidade, 11); }
public RedirectToRouteResult Remover(Carrinho carrinho, int produtoId, string returnUrl) { _repositorio = new ProdutosRepositorio(); Produto produto = _repositorio.Produtos .FirstOrDefault(p => p.ProdutoId == produtoId); if (produto != null) { carrinho.RemevorItem(produto); } return RedirectToAction("Index", new { returnUrl }); }
public void AdicionarItensAoCarrinho() { //Arrange - criação dos produtos Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "Teste 2" }; Produto produto3 = new Produto { ProdutoId = 3, Nome = "Teste 3" }; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 2); carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto3, 3); //Act ItemCarrinho[] itens = carrinho.ItensCarrinho.ToArray(); //Assert Assert.AreEqual(itens.Length, 3); Assert.AreEqual(itens[0].Produto, produto1); Assert.AreEqual(itens[1].Produto, produto2); }
public void Posso_Ver_O_Conteudo_Do_Carrinho() { //Arrange Carrinho carrinho = new Carrinho(); CarrinhoController controller = new CarrinhoController(); //Act CarrinhoViewModel resultado = (CarrinhoViewModel) controller.Index(carrinho, "minhaUrl").ViewData.Model; //Assert //AreSame (se são os mesmos) Assert.AreSame(resultado.Carrinho,carrinho); Assert.AreEqual(resultado.ReturnUrl,"minhaUrl"); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { Carrinho carrinho = null; if(controllerContext.HttpContext.Session != null) carrinho = (Carrinho)controllerContext.HttpContext.Session[SessionKey]; if (carrinho ==null) { carrinho = new Carrinho(); if (controllerContext.HttpContext.Session != null) controllerContext.HttpContext.Session[SessionKey] = carrinho; } return carrinho; }
public void Adicionar_prod_Carrinho() { //Preparação (Arrange) e o estimulo (Act), das verificações. //Arrange Carrinho carrinho = new Carrinho(); //A CarrinhoController controller = new CarrinhoController(); //Act // RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl"); //Assert.AreEqual(result.RouteValues["action"], "Index"); //Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl"); }
public void Adiciono_Produto_No_Carrinho_Volta_Para_A_Categoria() { //preparação (Arrange) e o estímulo (Act) das verificações (Assert) //Arrange Carrinho carrinho = new Carrinho(); CarrinhoController controller = new CarrinhoController(); //Act // RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl"); //Assert // Assert.AreEqual(result.RouteValues["action"],"Index"); // Assert.AreEqual(result.RouteValues["returnUrl"],"minhaUrl"); }
public void Posso_Ver_O_Meu_Carrinho() { //Preparação (Arrange) e o estimulo (Act), das verificações. //Arrange Carrinho carrinho = new Carrinho(); //A CarrinhoController controller = new CarrinhoController(); //Act CarrinhoViewModel resultado = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model; //Assert Assert.AreSame(resultado.Carrinho, carrinho); Assert.AreEqual(resultado.ReturnUrl, "minhaUrl"); }
public void AdicionarProdutoExistenteParaCarrinho() { //Arrange - criação dos produtos Produto produto1 = new Produto() { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto() { ProdutoId = 2, Nome = "Teste 2" }; //Produto produto3 = new Produto() //{ // ProdutoId = 3, // Nome = "Teste 3" //}; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto1, 10); //Act - Agir ItemCarrinho[] resultado = carrinho.ItensCarrinho .OrderBy(c => c.Produto.ProdutoId).ToArray(); //Assert - (2 produtos adicionados testar igualdade) Assert.AreEqual(resultado.Length,2); //Assert - (Quantidade de produtos no produto 1) Assert.AreEqual(resultado[0].Quantidade, 11); Assert.AreEqual(resultado[1].Quantidade,3); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { //Obtenho o carrinho da sessão Carrinho carrinho = null; if (controllerContext.HttpContext.Session != null) { carrinho = (Carrinho)controllerContext.HttpContext.Session[SessionKey]; } // Crio o carrinho se não tenho a sessao if (carrinho == null) { carrinho = new Carrinho(); if (controllerContext.HttpContext.Session != null) { controllerContext.HttpContext.Session[SessionKey] = carrinho; } } // Returno o carrinho return carrinho; }
public void AdicionarItensAoCarrinho() { // Arrange - Criação de Produtos Produto produto1 = new Produto(); Produto produto2 = new Produto(); Produto produto3 = new Produto(); produto1.ProdutoId = 1; produto1.Nome = "Teste 1"; produto1.Preco = 10.00m; produto2.ProdutoId = 2; produto2.Nome = "Teste 2"; produto2.Preco = 15.00m; produto3.ProdutoId = 3; produto3.Nome = "Teste 3"; produto3.Preco = 12.00m; // Arrange Criação de Carrinho Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 2); carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto3, 5); //Act ItemCarrinho[] itens = carrinho.ItensCarrinho.ToArray(); // obs: ToArray() só é válido quando é Referenciado using System.Linq; //Assert Assert.AreEqual(itens.Length, 3); // Tem que ser Verdadeiro porque tenho dois produtos Assert.AreEqual(itens[0].Produto, produto1); // Verdadeiro pq foi o primeiro elemento que adicionei Assert.AreEqual(itens[1].Produto, produto2); // Tem que ser verdadeiro Assert.AreEqual(itens.Sum(p => p.Produto.Preco), 37m); // Tem que ser verdadeiro }
public PartialViewResult Resumo(Carrinho carrinho) { return PartialView(carrinho); }
public void CalcularValorTotal() { //Arrange - criação dos produtos Produto produto1 = new Produto() { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto() { ProdutoId = 2, Nome = "Teste 2", Preco = 50M }; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.AdicionarItem(produto1, 3); //Act decimal resultado = carrinho.ObterValorTotal(); //Assert Assert.AreEqual(resultado, 450M); }
public void RemoverItensCarrinho() { //Arrange - criação dos produtos Produto produto1 = new Produto() { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto() { ProdutoId = 2, Nome = "Teste 2" }; Produto produto3 = new Produto() { ProdutoId = 3, Nome = "Teste 3" }; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto3, 5); carrinho.AdicionarItem(produto2, 1); //Act carrinho.RemoverItem(produto2); //Assert - Quantidade de produtos após a remoção Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count(),0); //Assert - Quantos itens tem no carrinho depois de removido um produto Assert.AreEqual(carrinho.ItensCarrinho.Count(),2); }
public void LimparItensCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "TEste2", Preco = 50M }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.LimpparCarrinho(); Assert.AreEqual(carrinho.ItensCarrinho.Count(), 0); }
public void LimparItensCarrinho() { //Arrange - criação dos produtos Produto produto1 = new Produto() { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto() { ProdutoId = 2, Nome = "Teste 2", Preco = 50M }; //Arrange Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); //Act carrinho.LimparCarrinho(); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Count(),0); }
public void CalcularValorTotal() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "TEste2", Preco = 50M }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.AdicionarItem(produto1, 3); decimal resultado = carrinho.ObterValorTotal(); Assert.AreEqual(resultado, 450M); }
public void RemoverItensCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1" }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "TEste2" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto1, 5); carrinho.AdicionarItem(produto2, 1); carrinho.RemoverItem(produto2); Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count() , 0); Assert.AreEqual(carrinho.ItensCarrinho.Count(), 1); }