public UpdateUserValidatorsTest()
        {
            _user = UserFactory.ValidUserWithId();
            var mockRepo = new Mock <IUserRepository>();

            mockRepo.Setup(db => db.GetByIdAsync(_user.Id).Result).Returns(_user);
            _validator = new UpdateUserByIdCommandValidator(mockRepo.Object);
        }
        public void UpdateUserByIdCommand_FailUserNotExist()
        {
            var command = new UpdateUserByIdCommand(new Guid("f5d958ec-d760-4abe-bf3e-c8ba12c975e6"), GetBasicUserVm());

            base.UsersRespositoryMock.Setup(user => user.FindSingle(It.IsAny <Expression <Func <User, bool> > >()));
            var validator = new UpdateUserByIdCommandValidator(base.UnitOfWorkMock.Object);

            var result = validator.Validate(command);

            Assert.IsFalse(result.IsValid);
        }
        public void UpdateUserByIdCommand_FailIdNullOrEmpty()
        {
            var command = new UpdateUserByIdCommand(new Guid(), GetBasicUserVm());

            base.UsersRespositoryMock.Setup(user => user.FindSingle(It.IsAny <Expression <Func <User, bool> > >())).ReturnsAsync(GetUser);
            var validator = new UpdateUserByIdCommandValidator(base.UnitOfWorkMock.Object);

            var result = validator.Validate(command);

            Assert.IsFalse(result.IsValid);
        }
        public void UpdateUserByIdCommand_FailZeroAddress()
        {
            var userNameFail = GetBasicUserVm();

            userNameFail.Address = new List <AddressVm>();

            var command = new UpdateUserByIdCommand(new Guid(), userNameFail);

            base.UsersRespositoryMock.Setup(user => user.FindSingle(It.IsAny <Expression <Func <User, bool> > >())).ReturnsAsync(GetUser);
            var validator = new UpdateUserByIdCommandValidator(base.UnitOfWorkMock.Object);

            var result = validator.Validate(command);

            Assert.IsFalse(result.IsValid);
        }