public void Checkout_And_Sumbit_Order() { //arrange Mock<IOrder> mock = new Mock<IOrder>(); ShoppingBasket basket = new ShoppingBasket(); basket.Add_Item(new Part(), 1); ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object); //act ViewResult result = controller.Checkout(basket, new ShippingDetails()); //arrange mock.Verify(m => m.ProcessOrder(It.IsAny<ShoppingBasket>(), It.IsAny<ShippingDetails>()), Times.Once()); Assert.AreEqual("Completed", result.ViewName); Assert.AreEqual(true, result.ViewData.ModelState.IsValid); }
public void Checkout_Invalid_ShippingDetails() { //arrange Mock<IOrder> mock = new Mock<IOrder>(); ShoppingBasket basket = new ShoppingBasket(); basket.Add_Item(new Part(), 1); ShoppingBasketController controller = new ShoppingBasketController(null, mock.Object); controller.ModelState.AddModelError("error", "error"); //act ViewResult result = controller.Checkout(basket, new ShippingDetails()); //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 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); }