public void AdicionarProdutoExistenteParaCarrinho() { //Arrange 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, 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 AdicionarItensAoCarrinho() { //Arrange 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, 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 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); } }
public void CalcularValorTotal() { //Arrange 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); //Act decimal resultado = carrinho.ObterValorTotal(); //Assert (4*100 + 1*50 = 450) Assert.AreEqual(resultado, 450M); }
public void RemoverItensCarrinho() { //Arrange 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); //Act carrinho.RemoverItem(produto2); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Where(c => c.Produto == produto2).Count(), 0); Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2); }
public void LimparCarrinho() { 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); //Act carrinho.LimparCarrinho(); //Assert Assert.AreEqual(carrinho.ItensCarrinho.Count(), 0); }