public void CanUpdateCartItems()
        {
            //Arrange
            var goodId = _context.Carts.Where(c => c.CartItems.Any())
                         .Select(c => c.CartId)
                         .FirstOrDefault();
            var data1              = new WebSiteOrderData(new ShoppingCartContext(), _refContext);
            var existingCart       = data1.RetrieveCart(goodId);
            var lineItemCount      = existingCart.CartItems.Count();
            var firstItem          = existingCart.CartItems.First();
            var originalTotalItems = existingCart.TotalItems;
            var originalQuantity   = firstItem.Quantity;

            existingCart.CartItems.First().UpdateQuantity(originalQuantity + 1);
            existingCart.InsertNewCartItem(1, 1, new decimal(100));
            //Act
            var data2 = new WebSiteOrderData(new ShoppingCartContext(), _refContext);

            data2.UpdateItemsForExistingCart(existingCart);
            //Assert
            var data3             = new WebSiteOrderData(new ShoppingCartContext(), _refContext);
            var existingCartAgain = data3.RetrieveCart(goodId);

            Assert.AreEqual(lineItemCount + 1, existingCartAgain.CartItems.Count());
            Assert.AreEqual(originalTotalItems + 2, existingCartAgain.TotalItems);
        }
        public void CanGetProductListAsync()
        {
            var repo   = new WebSiteOrderData(_context, _refContext);
            var result = repo.GetProductsWithCategoryForShoppingAsync().Result;

            Assert.IsNotNull(result);
        }
        public void ProductsHaveValuesWhenReturnedFromRepo()
        {
            var data        = new WebSiteOrderData(_context, _refContext);
            var productList = data.GetProductsWithCategoryForShopping();

            Assert.AreNotEqual("", productList[0].Name);
        }
Exemple #4
0
        private int SeedCartAndReturnId(WebSiteOrderData repo)
        {
            var cart        = NewCart.CreateCartFromProductSelection(_theUri, null, 1, 1, 9.99m);
            var createdCart = repo.StoreCartWithInitialProduct(cart);

            return(createdCart.CartId);
        }
        public void CanStoreCartWithInitialProduct()
        {
            var cart       = NewCart.CreateCartFromProductSelection(_theUri, null, 1, 1, 9.99m);
            var data       = new WebSiteOrderData(_context, _refContext);
            var resultCart = data.StoreCartWithInitialProduct(cart);

            WriteLog();
            Assert.AreNotEqual(0, resultCart.CartId);
        }
Exemple #6
0
        public void CanRetrieveCartFromRepoUsingCartId()
        {
            //note if you want to dropcreate the db do it before context creation
            var repo = new WebSiteOrderData(_context, _refContext);
            var id   = SeedCartAndReturnId(repo);

            Debug.WriteLine($"Stored Cart Id from database {id}");
            Assert.AreEqual(id, repo.RetrieveCart(id).CartId);
        }
Exemple #7
0
        public void CanRetrieveCartAndItemsUsingCartCookieMocked()
        {
            var cart = NewCart.CreateCartFromProductSelection(_theUri, null, 1, 1, 9.99m);

            _cartsInMemory.Add(cart);
            var storedCartCookie = cart.CartCookie;
            var repo             = new WebSiteOrderData(_scMockingContext, _refMockingContext);

            Assert.AreEqual(1, repo.RetrieveCart(storedCartCookie).CartItems.Count());
        }
        public void CanRetrieveCartFromRepoUsingCartId()
        {
            //Arrange
            var cart        = NewCart.CreateCartFromProductSelection(_theUri, null, 1, 1, 9.99m);
            var data        = new WebSiteOrderData(_context, _refContext);
            var createdCart = data.StoreCartWithInitialProduct(cart);

            Debug.WriteLine($"Stored Cart Id from database {createdCart.CartId}");
            //Act (retrieve) and Assert
            Assert.AreEqual(createdCart.CartId, data.RetrieveCart(cart.CartId).CartId);
        }
Exemple #9
0
        public async Task CanGetProductAsyncMocked()
        {
            var productsInMemory = new List <Product> {
                new Product(), new Product()
            };

            _refMockingContext = new ReferenceContext {
                Products = TestHelpers.MockDbSet(productsInMemory)
            };
            var repo   = new WebSiteOrderData(_scMockingContext, _refMockingContext);
            var result = await repo.GetFirstProductWithCategoryForShoppingAsync();

            Assert.IsNotNull(result);
        }
 public WebSiteOrderingService(WebSiteOrderData siteOrderData)
 {
     _siteOrderData = siteOrderData;
 }