public void RemoveCartItemTestCaseOk()
        {
            var cart = new Cart
            {
                Id        = "123",
                CartItems = new Dictionary <int, CartItem> {
                    { 42, new CartItem {
                          ProductId = 42, Quantity = 2
                      } },
                    { 43, new CartItem {
                          ProductId = 43, Quantity = 2
                      } }
                }
            };
            var obj = (object)cart;

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(true);
            var product = new Product();
            var error   = new CartOperationError();

            productCacheService
            .Setup(x => x.TryUpdateRetained(It.IsAny <int>(), It.IsAny <int>(), out product, out error))
            .Returns(true);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);

            Assert.NotNull(service.RemoveCartItem("123", 42, out error));
            Assert.AreEqual(1, cart.CartItems.Count);
        }
        public void SetCartItemCaseInvalidQuantity()
        {
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var error   = new CartOperationError();

            Assert.Null(service.SetCartItem("123", new CartItem {
                Quantity = 0
            }, out error));
            Assert.AreEqual(400, error.StatusCode);
        }
        public void ClearCartTestCaseNotFound()
        {
            var cart = new Cart();
            var obj  = (object)cart;

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(false);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var error   = new CartOperationError();

            Assert.Null(service.ClearCart("123", out error));
        }
        public void SetCartItemCaseProductNotFound()
        {
            repository.Setup(x => x.Find(It.IsAny <int>())).Returns((Product)null);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var error   = new CartOperationError();

            Assert.Null(service.SetCartItem("123", new CartItem {
                Quantity = 1, ProductId = 42
            }, out error));
            Assert.AreEqual(400, error.StatusCode);
        }
        public void RemoveCartItemTestCaseCartNotFound()
        {
            var cart = new Cart();
            var obj  = (object)cart;

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(false);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var error   = new CartOperationError();

            Assert.Null(service.RemoveCartItem("123", 42, out error));
            Assert.AreEqual(404, error.StatusCode);
        }
        public void GetOrCreateCartTest(string cartId, bool found)
        {
            var cart = new Cart();

            var obj = (object)cart;

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(found);

            var service       = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var retrievedcart = service.GetCart(cartId);

            Assert.AreEqual(found ? cart : null, retrievedcart);
        }
Beispiel #7
0
        public IndexModel(Context context, CustomerCartService cartService)
        {
            _context     = context;
            _cartService = cartService;

            _cartService.GetCheckoutSum().ForEach(delegate(CheckoutSummary model)
            {
                Book book = _context.Books.Where(x => x.Id == model.Book.Id).FirstOrDefault();

                if (book is not null)
                {
                    BooksInCart.Add(book);
                }
            });
        }
        public void RemoveCartItemTestCaseProductNotInCart()
        {
            var cart = new Cart
            {
                Id        = "123",
                CartItems = new Dictionary <int, CartItem>()
            };
            var obj = (object)cart;

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(true);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);
            var error   = new CartOperationError();

            Assert.Null(service.RemoveCartItem("123", 42, out error));
            Assert.AreEqual(400, error.StatusCode);
        }
        public void ClearCartTestCaseOk()
        {
            var cart = new Cart
            {
                CartItems = new Dictionary <int, CartItem> {
                    { 42, new CartItem() }
                }
            };
            var obj     = (object)cart;
            var error   = new CartOperationError();
            var product = new Product();

            memoryCache.Setup(x => x.TryGetValue(It.IsAny <string>(), out obj)).Returns(true);
            productCacheService
            .Setup(x => x.TryUpdateRetained(It.IsAny <int>(), It.IsAny <int>(), out product, out error))
            .Returns(true);
            var service = new CustomerCartService(memoryCache.Object, hub.Object, productCacheService.Object);

            Assert.NotNull(service.ClearCart("123", out error));
            Assert.IsEmpty(cart.CartItems);
        }
 public IndexModel(Context context, CustomerCartService cartService)
 {
     _context     = context;
     _cartService = cartService;
     Books        = _context.Books.ToList();
 }
Beispiel #11
0
 public IndexModel(Context context, CustomerCartService cartService)
 {
     _context     = context;
     _cartService = cartService;
     bookList     = _context.Books.Where(x => x.IsFeatured.Equals(true) || x.Sale > 0).ToList();
 }
Beispiel #12
0
 public SummaryModel(Context context, CustomerCartService cartService)
 {
     _context     = context;
     _cartService = cartService;
 }
Beispiel #13
0
 public CartController(CustomerCartService service)
 {
     this.service = service;
 }