Ejemplo n.º 1
0
        public async Task ValidateCart_RuleSetDefault_Valid()
        {
            //Arrange
            var cartService = new Moq.Mock <ICartService>();

            //Act
            var validator = new CartValidator(cartService.Object);
            var cart      = GetValidCart();
            var result    = await validator.ValidateAsync(cart, ruleSet : "default");

            //Assertion
            Assert.True(result.IsValid);
            Assert.Empty(result.Errors);
            //Assert.Empty(cart.ValidationErrors);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Remove([FromBody] RemoveItemFromCartRequest request)
        {
            try
            {
                var validator = new CartValidator <RemoveItemFromCartRequest>();
                var result    = await validator.ValidateAsync(request);

                if (!result.IsValid)
                {
                    throw new ValidationException("Invalid data");
                }

                await _cartService.RemoveFromCart(request, User);

                return(Ok());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }
Ejemplo n.º 3
0
        public async Task ValidateCart_RuleSetDefault_Invalid()
        {
            //Arrange
            var cartService = new Moq.Mock <ICartService>();

            //Act
            var validator = new CartValidator(cartService.Object);
            var cart      = GetInvalidCart();
            var result    = await validator.ValidateAsync(cart, ruleSet : "default");

            //Assertion
            Assert.False(result.IsValid);
            //Assert.NotEmpty(cart.ValidationErrors);
            Assert.NotEmpty(result.Errors);
            Assert.Equal(4, result.Errors.Count);

            Assert.Collection(result.Errors, x => { Assert.Equal(nameof(cart.Name), x.PropertyName); Assert.Equal(nameof(NotNullValidator), x.ErrorCode); }
                              , x => { Assert.Equal(nameof(cart.Name), x.PropertyName); Assert.Equal(nameof(NotEmptyValidator), x.ErrorCode); }
                              , x => { Assert.Equal(nameof(cart.CustomerId), x.PropertyName); Assert.Equal(nameof(NotNullValidator), x.ErrorCode); }
                              , x => { Assert.Equal(nameof(cart.CustomerId), x.PropertyName); Assert.Equal(nameof(NotEmptyValidator), x.ErrorCode); }
                              );
        }
Ejemplo n.º 4
0
 protected CartCommand(Guid id, Expression <Func <Cart, bool> > filter = null)
     : base(id, filter)
 {
     Validator = new CartValidator();
 }