public void CartItemDeleteCheck()
        {
            const int itemid = 1;
            var       cart   = new Cart
            {
                Items = new List <CartItem>
                {
                    new CartItem {
                        ProductId = 1, Quantity = 1
                    },
                    new CartItem {
                        ProductId = 2, Quantity = 3
                    }
                }
            };
            var productdatamock = new Mock <IProductData>();
            var cartstoremock   = new Mock <ICartStore>();

            cartstoremock.Setup(c => c.Cart)
            .Returns(cart);
            var cartservidse = new CookieCartService(productdatamock.Object, cartstoremock.Object);

            cartservidse.RemoveFromCart(itemid);

            Assert.Equal(3, cart.ItemsCount);
            Assert.Equal(2, cart.Items[0].ProductId);
        }
        public void CartService_RemoveFromCart_Remove_Correct_Item()
        {
            const int item_id = 1;
            var       cart    = new Cart
            {
                Items = new List <CartItem>
                {
                    new CartItem {
                        ProductId = item_id, Quantity = 1
                    },
                    new CartItem {
                        ProductId = 2, Quantity = 3
                    }
                }
            };

            var product_data_mock = new Mock <IProductService>();

            var cart_store_mock = new Mock <ICartStore>();

            cart_store_mock
            .Setup(c => c.Cart)
            .Returns(cart);

            var cart_service = new CookieCartService(product_data_mock.Object, cart_store_mock.Object);

            cart_service.RemoveFromCart(item_id);

            Assert.Single(cart.Items);
            Assert.Equal(2, cart.Items[0].ProductId);
        }
        public void CartService_RemoveFromCart_Removes_Correct_Item()
        {
            //корзина
            var cart = new Cart
            {
                Items = new List <CartItem>
                {
                    new CartItem {
                        ProductId = 1, Quantity = 3
                    },
                    new CartItem {
                        ProductId = 2, Quantity = 1
                    },
                }
            };

            //сервис - заглушка
            var product_data_mock = new Mock <IProductData>();

            //сервис хранения корзины
            var cart_store_mock = new Mock <ICartStore>();

            cart_store_mock.Setup(c => c.Cart).Returns(cart);

            var cart_service = new CookieCartService(product_data_mock.Object, cart_store_mock.Object);

            cart_service.RemoveFromCart(1);

            //сравниваем кол-во товаров
            var result_count = cart.Items.Count;

            Assert.Equal(1, result_count);
            Assert.Equal(1, cart.ItemsCount);
            Assert.Equal(2, cart.Items.First().ProductId);
        }