コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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
            };
        }