public void Cannot_Checkout_Empty_Cart() { var mock = new Mock<IOrderProcessor>(); var cart = new Cart(); var shippingDetails = new ShippingDetails(); var target = new CartController(null, mock.Object); ViewResult result = target.Checkout(cart, shippingDetails); 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 Cannot_Checkout_Invalid_ShippingDetails() { var mock = new Mock<IOrderProcessor>(); var cart = new Cart(); cart.AddItem(new Product(), 1); var target = new CartController(null, mock.Object); target.ModelState.AddModelError("error", "error"); ViewResult result = target.Checkout(cart, new ShippingDetails()); 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 Cannot_Checkout_Empty_Cart() { // Организация - создание пустой корзины Cart cart = new Cart(); // Организация - создание деталей о доставке ShippingDetails shippingDetails = new ShippingDetails(); // Организация - создание контроллера CartController controller = new CartController(null); // Действие ViewResult result = controller.Checkout(cart, shippingDetails); // Утверждение — проверка, что метод вернул стандартное представление Assert.AreEqual("", result.ViewName); // Утверждение - проверка, что-представлению передана неверная модель Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public void Can_Checkout_And_Submit_Order() { var mock = new Mock<IOrderProcessor>(); var cart = new Cart(); cart.AddItem(new Product(), 1); var target = new CartController(null, mock.Object); ViewResult result = target.Checkout(cart, new ShippingDetails()); 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 void Cannot_Checkout_Invalid_ShippingDetails() { // Организация — создание корзины с элементом Cart cart = new Cart(); cart.AddItem(new Furniture(), 1); // Организация — создание контроллера CartController controller = new CartController(null); // Организация — добавление ошибки в модель controller.ModelState.AddModelError("error", "error"); // Действие - попытка перехода к оплате ViewResult result = controller.Checkout(cart, new ShippingDetails()); // Утверждение - проверка, что метод вернул стандартное представление Assert.AreEqual("", result.ViewName); // Утверждение - проверка, что-представлению передана неверная модель Assert.AreEqual(false, result.ViewData.ModelState.IsValid); }
public void Can_Checkout_And_Submit_Order() { // Организация — создание корзины с элементом Cart cart = new Cart(); cart.AddItem(new Furniture(), 1); // Организация — создание контроллера CartController controller = new CartController(null); // Действие - попытка перехода к оплате ViewResult result = controller.Checkout(cart, new ShippingDetails()); // Утверждение - проверка, что метод возвращает представление Assert.AreEqual("OrderCompleted", result.ViewName); // Утверждение - проверка, что представлению передается допустимая модель Assert.AreEqual(true, result.ViewData.ModelState.IsValid); }