public void TestDeleteAll_Valid() { var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.DeleteAll()).Returns(true); var controller = new ShoppingCartsController(mockRepo.Object, mockCache); var result = controller.Delete(); var okResult = Assert.IsType <OkResult>(result); }
public void TestPost_InvalidProduct() { var cart = new ShoppingCart() { ProductId = -1, Quantity = 1, UserId = 1 }; var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.Insert(cart)).Returns(false); var controller = new ShoppingCartsController(mockRepo.Object, mockCache); var result = controller.Post(cart); var okResult = Assert.IsType <NotFoundResult>(result); }
public void TestDelete_Invalid() { var cart = new ShoppingCart() { ID = -1, ProductId = 1, Quantity = 1, UserId = 1 }; var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.Delete(cart)).Returns(false); mockRepo.Setup(r => r.Get(cart.ID)).Returns <ShoppingCart>(null); var controller = new ShoppingCartsController(mockRepo.Object, mockCache); var result = controller.Delete(cart.ID); var okResult = Assert.IsType <NotFoundResult>(result); }
public void TestPost_InvalidQuantity() { var cart = new ShoppingCart() { ProductId = 1, Quantity = -1, UserId = 1 }; var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.Insert(cart)).Returns(true); //This should not be called, however the database does not have any quantity validations so, it would, actually save it. var controller = new ShoppingCartsController(mockRepo.Object, mockCache); controller.ModelState.AddModelError("Quantity", "Quantity must be larger than 0"); //ModelState error are added when building the request. Calling the method directly does not allow the modelstate to build up its errors. var result = controller.Post(cart); var okResult = Assert.IsType <NotFoundResult>(result); }
public void TestGetCarts() { var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.GetAll()).Returns(Sample); var controller = new ShoppingCartsController(mockRepo.Object, mockCache); var result = controller.Get(); var okResult = Assert.IsType <OkObjectResult>(result); var resultCollection = (List <ShoppingCartView>)okResult.Value; Assert.Equal(Sample.Count(), resultCollection.Count); for (int i = 0; i < resultCollection.Count; i++) { Assert.Equal(Sample.ElementAt(i).ID, resultCollection[i].ID); } }
public void TestPost_Valid() { var cart = new ShoppingCart() { ProductId = 1, Quantity = 1, UserId = 1 }; var mockRepo = new Mock <IShoppingCartRepository>(); mockRepo.Setup(r => r.Insert(cart)).Returns(true); var controller = new ShoppingCartsController(mockRepo.Object, mockCache); var result = controller.Post(cart); var okResult = Assert.IsType <CreatedResult>(result); var resultObject = (ShoppingCart)okResult.Value; Assert.Equal(resultObject.ProductId, cart.ProductId); Assert.Equal(resultObject.Quantity, cart.Quantity); Assert.Equal(resultObject.UserId, cart.UserId); }
public static void MyClassInitialize(TestContext testContext) { controller = new ShoppingCartsController(); TestUtil.SetFakeControllerContext(controller); // Create test ivnentory and cart items invItem = new Inventory.Entities.Inventory { Id = 2, Name = "Test Item", Cost = 1, Quantity = 1 }; cartItem = new CartItem { ItemId = "TestItemId", ProductId = 2, CartId = "UnitTest", Product = invItem, Quantity = 1, DateCreated = DateTime.Now }; }