public void ShouldAddProductToCart() { var mockDB = new Mock <ICart>(); mockDB.Setup(c => c.ToCart(GetProduct(), GetCart(), 1)) .Returns(true); var mockProductService = new Mock <IProductService>(); mockProductService.Setup(p => p.FindById(new ProductFindRequest { ProductId = 2 })).Returns(new ProductFindResponse { FoundProduct = GetProduct() }); mockDB.Setup(c => c.ReadById(GetCartById())) .Returns(GetCart()); _cartValidation = new CartValidation(_addProductToCartValidation, _cartCreateRequestValidation, _cartFindRequestValidation, _cartRemoveRequestValidation, _removeFromCartRequestValidation, _cartClearRequestValidation); _victim = new CartService(mockDB.Object, mockProductService.Object, _cartValidation); var actual = _victim.AddToCart(AddItemToCart()).HasAdded; Assert.True(actual); }
public void ShouldReturnErrorCodes(long cartId, long userId, CartValidationErrors expectedError) { AddProductToCartValidation AddProductToCartValidation = new AddProductToCartValidation(); CartCreateRequestValidation CartCreateRequestValidation = new CartCreateRequestValidation(); CartFindRequestValidation CartFindRequestValidation = new CartFindRequestValidation(); CartRemoveRequestValidation CartRemoveRequestValidation = new CartRemoveRequestValidation(); RemoveFromCartRequestValidation RemoveFromCartRequestValidation = new RemoveFromCartRequestValidation(); CartClearRequestValidation CartClearRequestValidation = new CartClearRequestValidation(); CartValidation _validation = new CartValidation(AddProductToCartValidation, CartCreateRequestValidation, CartFindRequestValidation, CartRemoveRequestValidation, RemoveFromCartRequestValidation, CartClearRequestValidation); var request = new CartCreateRequest { UserId = userId, CartId = cartId }; var listErrors = _validation.CartCreateRequestValidation.Validate(request); foreach (var error in listErrors) { Assert.Equal(expectedError, error); } }
public void ShouldFindCartById() { var mockDB = new Mock <ICart>(); mockDB.Setup(c => c.ReadById(GetCartById())) .Returns(GetCart()); _cartValidation = new CartValidation(_addProductToCartValidation, _cartCreateRequestValidation, _cartFindRequestValidation, _cartRemoveRequestValidation, _removeFromCartRequestValidation, _cartClearRequestValidation); _victim = new CartService(mockDB.Object, _productService, _cartValidation); var actual = _victim.FindCartById(GetCartById()).Cart; Assert.Equal(GetCartById().CartId, actual.Id); }
public void ShouldClearCart() { var mockDB = new Mock <ICart>(); mockDB.Setup(c => c.Clear(GetCart().Id)) .Returns(true); var mockProductService = new Mock <IProductService>(); _cartValidation = new CartValidation(_addProductToCartValidation, _cartCreateRequestValidation, _cartFindRequestValidation, _cartRemoveRequestValidation, _removeFromCartRequestValidation, _cartClearRequestValidation); _victim = new CartService(mockDB.Object, mockProductService.Object, _cartValidation); var actual = _victim.ClearCart(ClearCartRequest()).HasClear; Assert.True(actual); }
public CartService(ICart cartRepository, IProductService productService, CartValidation cartValidation) { _cartRepository = cartRepository; _productService = productService; _cartValidation = cartValidation; }