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);
        }
        public async Task <Response <UserVm> > Handle(UpdateUserByIdCommand request, CancellationToken cancellationToken)
        {
            var user = await _unitOfWork.Users.FindSingle(x => x.Id == request.Id);

            if (user == null)
            {
                return(Response.Fail404NotFound <UserVm>("User Not Found"));
            }

            var userToUpdate = new User()
            {
                Name            = request.User.Name,
                Lastname        = request.User.Lastname,
                Email           = request.User.Email,
                Age             = request.User.Age,
                TelephoneNumber = request.User.TelephoneNumber,
                Address         = request.User.Address.Select(adress => new Address()
                {
                    Description = adress.Description
                }).ToList(),
            };

            var userResult = await _unitOfWork.Users.Update(x => x.Id == request.Id, userToUpdate);

            UserVm userResponse = new UserVm()
            {
                Id              = userResult.Id,
                Name            = userResult.Name,
                Lastname        = userResult.Lastname,
                Age             = userResult.Age,
                Email           = userResult.Email,
                TelephoneNumber = userResult.TelephoneNumber,
                Address         = userResult.Address.Select(adress => new AddressVm()
                {
                    Description = adress.Description
                }).ToList(),
            };

            return(Response.Ok200(userResponse));
        }
示例#5
0
        public async Task <IActionResult> Update(UpdateUserByIdCommand command)
        {
            await Mediator.Send(command);

            return(NoContent());
        }