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)); }
public async Task <IActionResult> Update(UpdateUserByIdCommand command) { await Mediator.Send(command); return(NoContent()); }