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); carrinho.AdicionarItem(produto2, 4); 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 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 possível concluir o pedido, o Carrinho está vazio!"); } if (ModelState.IsValid) { emailPedido.ProcessarPedido(carrinho, pedido); carrinho.LimparCarrinho(); return View("PedidoConcluido"); } else { return View(pedido); } }
public ViewResult Index(Carrinho carrinho, string returnurl) { return View(new CarrinhoViewModel { Carrinho = carrinho, ReturnUrl = returnurl }); }
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.RemoverItem(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() { //Arrenge Carrinho carrinho = new Carrinho(); 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 Adiciono_produto_No_Carrinho_Volta_Para_A_Categoria() { //Arrenge Carrinho carrinho = new Carrinho(); CarrinhoController controller = new CarrinhoController(); //Act RedirectToRouteResult result = controller.Adicionar(carrinho, 2, 1,"minhaUrl"); //Assert Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl"); }
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 pedido: {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 pedido", body.ToString()); if (_emailConfiguracoes.EscreverArquivo) { mailMessage.BodyEncoding = Encoding.GetEncoding("ISO-8859-1"); } smtpClient.Send(mailMessage); } }
//IModelBinder interface define o método BindModel 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 sessão if (carrinho == null) { carrinho = new Carrinho(); if (controllerContext.HttpContext.Session != null) { controllerContext.HttpContext.Session[SessionKey] = carrinho; } } //Retorno o carrinho return carrinho; }
public PartialViewResult Resumo(Carrinho carrinho) { return PartialView(carrinho); }
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, 1); carrinho.AdicionarItem(produto1, 10); //Act 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 LimparIntesCarrinho() { Produto produto1 = new Produto { ProdutoId = 1, Nome = "Teste 1", Preco = 100M }; Produto produto2 = new Produto { ProdutoId = 2, Nome = "Teste 2", Preco = 50M }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); carrinho.AdicionarItem(produto2, 1); carrinho.LimparCarrinho(); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Count(), 0); }
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 }; 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() { //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" }; Carrinho carrinho = new Carrinho(); carrinho.AdicionarItem(produto1, 1); // carrinho.AdicionarItem(produto2, 3); carrinho.AdicionarItem(produto3, 5); // carrinho.AdicionarItem(produto2, 1); carrinho.RemoverItem(produto2); Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count(), 0); Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2); }