public void Order(Cart cart, ShippingDetails shipping_info) { using (SmtpClient smtp_client = new SmtpClient()) { smtp_client.Host = m_email_settings.Host; smtp_client.Port = m_email_settings.Port; smtp_client.EnableSsl = m_email_settings.UseSSL; smtp_client.UseDefaultCredentials = false; smtp_client.Credentials = new NetworkCredential(m_email_settings.Username, m_email_settings.Password); if (m_email_settings.WriteAsFile) { smtp_client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtp_client.PickupDirectoryLocation = m_email_settings.FileLocation; smtp_client.EnableSsl = false; } StringBuilder body_msg = new StringBuilder(); body_msg.AppendLine("Новый заказ обработан"); body_msg.AppendLine("---"); body_msg.AppendLine("Товары:"); foreach (var line in cart.Lines) { decimal sum = line.Product.Price * line.Quantity; body_msg.AppendFormat("{0} x {1} (итого: {2:c}", line.Quantity, line.Product.Name, sum); } body_msg.AppendFormat("Общая стоимость: {0:c}", cart.TotalSum()) .AppendLine("---") .AppendLine("Доставка:") .AppendLine(shipping_info.Name) .AppendLine(shipping_info.Line1) .AppendLine(shipping_info.Line2 ?? "") .AppendLine(shipping_info.Line3 ?? "") .AppendLine(shipping_info.City) .AppendLine(shipping_info.Country) .AppendLine("---") .AppendFormat("Подарочная упаковка: {0}", shipping_info.GiftWrap ? "Да" : "Нет"); MailMessage mail_msg = new MailMessage(m_email_settings.AddressFrom, m_email_settings.AddressTo, "Новый заказ отправлен!", body_msg.ToString()); if (m_email_settings.WriteAsFile) { mail_msg.BodyEncoding = Encoding.UTF8; mail_msg.HeadersEncoding = Encoding.UTF8; } smtp_client.Send(mail_msg); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { orderProcessor.ProcessOrder(cart, shippingDetails); cart.Clear(); return View("Completed"); } else { return View(shippingDetails); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError(" ", "Извините корзина пуста!"); } if (ModelState.IsValid) { orderProcessor.ProcessOrder(cart, shippingDetails); cart.Clear(); return(View("Completed")); } else { return(View(new CheckoutViewModel { cart = cart, shippingDetails = new ShippingDetails() })); } }
static void Main(string[] args) { var cart = new Cart(); cart.AddItem(new Product() { ProductID = 1, Name = "TEST1", Price = 10 }, 2); var persons = new ShippingDetails() { Name = "asdad", Address = "asdas", City = "asdas", GiftWrap = true }; foreach (var port in ports) { var mail = new EmailOrderProcessor(new EmailSettings(port)); try { Console.WriteLine("Запуск для порта " + port); mail.ProcessOrder(cart, persons); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Отправлено"); } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); } Console.ResetColor(); Console.WriteLine("Завершено"); } Console.ReadLine(); }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(userName: emailSettings.Username, password: emailSettings.Password); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder().AppendLine("A new order has been submitted").AppendLine("---").AppendLine("Items:"); foreach (var line in cart.Lines) { var subTotal = line.Product.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Product, subTotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()).AppendLine("---") .AppendLine("ShipTo:").AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1).AppendLine(shippingInfo.Line2 ?? "").AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City).AppendLine(shippingInfo.State ?? "").AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip).AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingInfo.GiftWrap ? "yes" : "no"); MailMessage mailMessage = new MailMessage(emailSettings.MailFromAddress, emailSettings.MailToAddress, "New order submitted!", body.ToString()); if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.ASCII; } smtpClient.Send(mailMessage); } }
private void SaveOrder(Cart cart, ShippingDetails entity) { var order = new Order(); order.Username = CurrentSession.User.Username; order.OrderNumber = "#A" + (new Random()).Next(11111, 99999).ToString(); order.Total = cart.Total(); order.OrderDate = DateTime.Now; order.OrderState = EnumOrderState.Waiting; order.AddressTitle = entity.AddressTitle; order.Address = entity.Address; order.City = entity.City; order.District = entity.District; order.Neighborhood = entity.Neighborhood; order.PostCode = entity.PostCode; order.Orderlines = new List <OrderLine>(); foreach (var pr in cart.CartLines) { var orderline = new OrderLine(); orderline.Quantity = pr.Quantity; orderline.Price = pr.Quantity * pr.Product.Price; orderline.ProductId = pr.Product.Id; orderline.CreatedOn = DateTime.Now; orderline.CreatedUsername = "******"; orderline.ModifiedOn = DateTime.Now; orderline.ModifiedUsername = "******"; order.Orderlines.Add(orderline); } order.CreatedOn = DateTime.Now; order.CreatedUsername = "******"; order.ModifiedOn = DateTime.Now; order.ModifiedUsername = "******"; orderManager.Insert(order); }
public void ProcessOrder(Cart cart, ShippingDetails shippingDetails) { SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.Timeout = 10000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "rubinforever29"); MailMessage msg = new MailMessage(); msg.To.Add("*****@*****.**"); msg.From = new MailAddress("*****@*****.**"); msg.Subject = "Заказ с ИМ"; StringBuilder body = new StringBuilder() .AppendLine("Новый заказ обработан") .AppendLine("---") .AppendLine("Товары:"); foreach (var line in cart.Lines) { var subtotal = line.Phone.Price * line.Quantity; body.AppendFormat("{0} x {1} {2} | ", line.Quantity, line.Phone.Mark, line.Phone.Model) .AppendFormat(" Итого: " + subtotal); } body.AppendLine("---") .AppendFormat("Общая стоимость: " + cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Данные о доставке и клинете:") .AppendLine("ФИО: " + shippingDetails.Name) .AppendLine("Номер телефона: " + shippingDetails.PhoneNumber) .AppendLine("Email: " + shippingDetails.Email) .AppendLine("Адрес доставки: " + shippingDetails.Line); msg.Body = body.ToString(); client.Send(msg); }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } var allErrors = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { /* * if (shippingDetails.State == "CA") * { * decimal total = cart.ComputeTotalValue(); * * }*/ // orderProcessor.ProcessOrder(cart, shippingDetails); // cart.Clear(); ViewBag.Data = shippingDetails; return(View("Confirm", new Checkout { Cart = cart, ShippingDetails = shippingDetails })); } else { var users = stateRepo.States.ToList().Select(u => new SelectListItem { Text = u.abbreviation, Value = u.abbreviation }); ShippingDetails sd = new ShippingDetails { States = users }; return(View(sd)); } }
public ActionResult CheckOut(ShippingDetails shippingDetails) { var card = GetCard(); if (card.cardItems.Count == 0) { ModelState.AddModelError("", "Sepetinizde ürün yoktur"); } else { if (ModelState.IsValid) { SaveOrder(card, shippingDetails); card.Clear(); return(View("Completed")); } } return(View(shippingDetails)); }
public ActionResult CheckOut(ShippingDetails entity) { var cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("UrunYokError", "Sepetinizde Ürün Bulunmamaktadır."); } if (ModelState.IsValid) { //Sipariş DB kaydediliyor. ve cart sıfırlanıyor. SaveOrder(cart, entity); cart.Clear(); return(View("Completed")); } else { return(View(entity)); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "You have an empty cart! Go order something!"); } // Check that all shipping details are okay. if (ModelState.IsValid) { // Send order. orderProcessor.ProcessOrder(cart, shippingDetails); cart.ClearCart(); // Send message to user. return(View("Completed")); } else { return(View(shippingDetails)); } }
public void CannotCheckoutEmptyCart() { //Arrange Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); Cart cart = new Cart(); ShippingDetails shippingDetails = new ShippingDetails(); CartController target = new CartController(null, mock.Object); //Act ViewResult result = target.Checkout(cart, shippingDetails); //Assert //check that the order hasn't been passed on the processor mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Never()); //check that the method is returning the default view Assert.AreEqual("", result.ViewName); //check that I am passing an invalid model to the view Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public ActionResult Checkout(ShippingDetails shippingDetails) { var cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("NoProductError", "Sepetinizde ürün bulunmamaktadır."); } if (ModelState.IsValid) { SaveOrder(cart, shippingDetails); cart.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Извените ваша корзина пуста"); } if (ModelState.IsValid) { _processor.ProcessOrder(cart, shippingDetails); cart.Clear(); if (HttpContext != null) { CartModelBinder.SetUpCart(cart, HttpContext.Session); } return(View("Completed")); } else { return(View(shippingDetails)); } }
public ViewResult Checkout(ShippingDetails shippingDetails) { Cart cart = GetCart(); if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { int? shippingId = User.Identity.GetShippingDetails(); string userId = User.Identity.GetUserId(); orderProcessor.ProcessOrder(cart, shippingDetails, userId, shippingId); cart.Clear(); return(View("Completed")); } else { return(View(shippingDetails)); } }
public void Process(Cart cart, ShippingDetails shipping) { using (var client = new SmtpClient()) { ConfigureSMTP(client); var body = BuildMessage(cart, shipping); var message = new MailMessage( _settings.MailFrom, //From _settings.MailTo, //To "Nueva orden enviada", //Subject body); //Contenido if (_settings.WriteAsFile) { message.BodyEncoding = Encoding.UTF8; } client.Send(message); } }
public ActionResult Checkout(ShippingDetails entity) { var cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("UrunYokError", "Sepetinizde ürün bulunmamaktadır."); } if (ModelState.IsValid) { SaveOrder(cart, entity); //SİPARİŞİ VERİTABANINA KAYDET //CART'I SIFIRLA cart.Clear(); return(View("Completed")); } else { return(View(entity)); } }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { orderProcessor.ProcessOrder(cart, shippingDetails); cart.Clear(); ViewBag.Name = shippingDetails.Name; return(View("Completed")); } else { return(View(shippingDetails)); } }
public void Cannot_Checkout_Empty_Cart() { // Chuẩn bị – tạo một đơn hàng giả Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); // Chuẩn bị – tạo một giỏ hàng trống Cart cart = new Cart(); // Chuẩn bị – tạo các chi tiết vận chuyển ShippingDetails shippingDetails = new ShippingDetails(); // Chuẩn bị – tạo một controller CartController target = new CartController(null, mock.Object); // Thực hiện ViewResult result = target.Checkout(cart, shippingDetails); // Xác nhận – kiểm tra đơn hàng không được thông qua vào bộ xử lý mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Never()); // Xác nhận – kiểm tra xem phương thức nào là trở về trang mặc định Assert.AreEqual("", result.ViewName); // Xác nhận - kiểm tra rằng tôi chuyển một mô hình hợp lệ sang giao diện hiển thị Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public void Can_Checkout_Andu_Submit_Order() { //准备-创建一个模仿的订单处理器 Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); //准备-创建一个空的购物车 Cart cart = new Cart(); cart.AddItem(new Product(), 1); //准备-创建一个送货地址实例 ShippingDetails shippingDetails = new ShippingDetails(); //准备-创建一个控制器实例 CartController target = new CartController(null, mock.Object); ViewResult result = target.Checkout(cart, shippingDetails); //断言-检查,订单已经传递给处理器 mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Once); //断言-检查,该方法返回的是"Completed"视图 Assert.AreEqual("Completed", result.ViewName); //断言-检查,我们正在把一个有效的模型传递给视图 Assert.AreEqual(true, result.ViewData.ModelState.IsValid); }
public void Cannot_Checkout_Empty_Cart() { // przygotowanie — tworzenie imitacji procesora zamówień Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); // przygotowanie — tworzenie pustego koszyka Cart cart = new Cart(); // przygotowanie — tworzenie danych do wysyłki ShippingDetails shippingDetails = new ShippingDetails(); // przygotowanie — tworzenie egzemplarza kontrolera CartController target = new CartController(null, mock.Object); // działanie ViewResult result = target.Checkout(cart, shippingDetails); // asercje — sprawdzenie, czy zamówienie zostało przekazane do procesora mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Never()); // asercje — sprawdzenie, czy metoda zwraca domyślny widok Assert.AreEqual("", result.ViewName); // asercje — sprawdzenie, czy przekazujemy prawidłowy model do widoku Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public void Cannot_Checkout_Empty_Cart() { // Arrange - create a mock order processor Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); // Arrange - create an empty cart Cart cart = new Cart(); // Arrange - create shipping details ShippingDetails shippingDetails = new ShippingDetails(); // Arrange - create an instance of the controller CartController target = new CartController(null, mock.Object); //ACT ViewResult result = target.Checkout(cart, shippingDetails); //ASSERT - check that the order hasn't been passed on to the processor mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Never()); //ASSERT - check that the method is returning the default view Assert.AreEqual("", result.ViewName); //ASSERT - check that we are passing an invalid model to the view Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public ActionResult Checkout(ShippingDetails entity) { var cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("UrunYokError", "Sepetinizde ürün bulunmamaktadır."); } if (ModelState.IsValid) { //Siparişi veritabanına kayıt et. //cart'i sıfırlar. var saveOrder = SaveOrder(cart, entity); cart.Clear(); return(View("Completed", saveOrder)); } else { return(View(entity)); } }
public void Checkout_Empty_Basket() { //arrange Mock<IOrder> mock = new Mock<IOrder>(); ShoppingBasket basket = new ShoppingBasket(); ShippingDetails details = new ShippingDetails(); ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object); //act ViewResult result = controller.Checkout(basket, details); //assert mock.Verify(m => m.ProcessOrder(It.IsAny<ShoppingBasket>(), It.IsAny<ShippingDetails>()), Times.Never()); Assert.AreEqual("", result.ViewName); Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public ActionResult CheckOut(ShippingDetails entity) { var cart = GetCart(); if (cart.CartLines.Count == 0) { ModelState.AddModelError("UrunYokError", "Sepetinizde ürün bulunmamaktadır."); } if (ModelState.IsValid) { SaveOrder(cart, entity); cart.Clear(); return(View("Completed")); } else { return(View(entity)); } return(View(new ShippingDetails())); }
public void Can_Checkout_And_Submit_Order() { // Arrange Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); Cart cart = new Cart(); cart.AddItem(new Product(), 1); ShippingDetails shippingDetails = new ShippingDetails(); CartController target = new CartController(null, mock.Object); // Act ViewResult result = target.Checkout(cart, shippingDetails); // Assert mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Once()); Assert.AreEqual("completed", result.ViewName); Assert.AreEqual(true, result.ViewData.ModelState.IsValid); }
public ActionResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { Session["cart"] = cart; Session["shippingDetails"] = shippingDetails; return(RedirectToAction("PaymentWithPaypal", "PaypalPayment")); //orderProcessor.ProcessOrder(cart, shippingDetails); //cart.clear(); //return View("Completed"); } else { return(View(shippingDetails)); } }
public void Cannot_Checkout_Empty_Cart() { //A1 Mock <IOrderProcessor> mock = new Mock <IOrderProcessor>(); Cart cart = new Cart(); ShippingDetails shippingDetails = new ShippingDetails(); CartController target = new CartController(null, mock.Object); //A2 ViewResult result = target.Checkout(cart, shippingDetails); //A3 mock.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Never()); Assert.AreEqual("", result.ViewName); Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public void CheckCorrectSubmit() { // arrange var mockOrderProcessor = new Mock <IOrderProcessor>(); var cart = new Cart(); cart.AddItem(new Product(), 1); var shippingDetails = new ShippingDetails(); var cartController = new CartController() { OrderProcessor = mockOrderProcessor.Object }; // act var result = cartController.Checkout(cart, shippingDetails); // assert mockOrderProcessor.Verify(m => m.ProcessOrder(It.IsAny <Cart>(), It.IsAny <ShippingDetails>()), Times.Once()); Assert.AreEqual("Completed", result.ViewName); Assert.AreEqual(true, result.ViewData.ModelState.IsValid); }
public ViewResult Checkout(Cart cart, ShippingDetails shippingDetails) { if (cart.Lines.Count() == 0) { ModelState.AddModelError("", "Sorry, your cart is empty!"); } if (ModelState.IsValid) { this.orderProcessor.ProcessOrder(cart, shippingDetails); //if we process the order successfully, clear the cart and //if (this.orderProcessor.IsDone) { cart.Clear(); ViewBag.debugData = this.orderProcessor.StatusText; return(View("Completed")); } } return(View(shippingDetails)); }
public void Create(ShippingDetails shippingDetails) { if (shippingDetails.ShippingId == 0) { _context.ShippingDetails.Add(shippingDetails); } else { ShippingDetails dbEntry = _context.ShippingDetails.Find(shippingDetails.ShippingId); if (dbEntry != null) { dbEntry.Name = shippingDetails.Name; dbEntry.Email = shippingDetails.Email; dbEntry.Adress = shippingDetails.Adress; dbEntry.Tel = shippingDetails.Tel; _context.SaveChanges(); } } _context.SaveChanges(); }
// affiliate orders only come in one at a time public void ProcessAffiliateOrder(Product e, ShippingDetails shippingDetails, string affiliateId) { var ph = new Purchase { PurchaseDate = DateTime.Now.ToString(), ShippingDetails = shippingDetails, ProductName = e.Name, ProductCount = 1, UserId = affiliateId, Price = e.Discount > 0 ? Helpers.CalculateDiscount(e.Price, e.Discount) : e.Price, ProductId = e.ProductID, AffiliateId = e.AffiliateId, }; e.Quantity -= 1; _pRepository.SaveProduct(e); GlobalProductCache.UpdateProduct(e); RealTimeSellData.ReplaceOrUpdateTrackedProduct(e, 1); GlobalCache.GetCache().ClearCachedItem <ProductModel>(e.ProductID); _prRepository.SavePurchase(ph); }
public void ProcessOrder(Cart cart, ShippingDetails shippingInfo) { using (var smtpClient = new SmtpClient()) { smtpClient.EnableSsl = emailSettings.UseSsl; smtpClient.Host = emailSettings.ServerName; smtpClient.Port = emailSettings.ServerPort; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(emailSettings.Username, emailSettings.Password); if (emailSettings.WriteAsFile) { smtpClient.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; smtpClient.PickupDirectoryLocation = emailSettings.FileLocation; smtpClient.EnableSsl = false; } StringBuilder body = new StringBuilder() .AppendLine("A new order has been submitted") .AppendLine("---") .AppendLine("Items:"); foreach (var line in cart.Lines) { var subtotal = line.Tour.Price * line.Quantity; body.AppendFormat("{0} x {1} (subtotal: {2:c}", line.Quantity, line.Tour.Name, subtotal); } body.AppendFormat("Total order value: {0:c}", cart.ComputeTotalValue()) .AppendLine("---") .AppendLine("Ship to:") .AppendLine(shippingInfo.Name) .AppendLine(shippingInfo.Line1) .AppendLine(shippingInfo.Line2 ?? "") .AppendLine(shippingInfo.Line3 ?? "") .AppendLine(shippingInfo.City) .AppendLine(shippingInfo.State ?? "") .AppendLine(shippingInfo.Country) .AppendLine(shippingInfo.Zip) .AppendLine("---") .AppendFormat("Gift wrap: {0}", shippingInfo.GiftWrap ? "Yes" : "No"); MailMessage mailMessage = new MailMessage( emailSettings.MailFromAddress, // From emailSettings.MailToAddress, // To "New order submitted!", // Subject body.ToString()); // Body if (emailSettings.WriteAsFile) { mailMessage.BodyEncoding = Encoding.Unicode; } smtpClient.Send(mailMessage); } }
public void Cannot_Checkout_Empty_Cart() { // Arrange - create a mock order processor Mock<IOrderProcessor> mock = new Mock<IOrderProcessor>(); // Arrange - create an empty cart Cart cart = new Cart(); // Arrange - create shipping details ShippingDetails shippingDetails = new ShippingDetails(); // Arrange - create an instance of the controller CartController target = new CartController(null, mock.Object); // Act ViewResult result = target.Checkout(cart, shippingDetails); // Assert - check that the order hasn't been passed on to the processor mock.Verify(m => m.ProcessOrder(It.IsAny<Cart>(), It.IsAny<ShippingDetails>()), Times.Never()); // Assert - check that the method is returning the default view Assert.AreEqual("", result.ViewName); // Assert - check that I am passing an invalid model to the view Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }