public async Task <IActionResult> Put([FromBody] GroupManageModel value) { var userId = _validateHelper.GetUserId(HttpContext); if (value != null && !value.Users.Any(u => u.Id.Equals(userId))) { return(Forbid()); } try { var model = await _groupService.UpdateAsync(value); if (model == null) { return(BadRequest()); } return(Ok(model)); } catch (KeyNotFoundException) { return(NotFound()); } }
public async Task <GroupManageModel> UpdateAsync(GroupManageModel model) { _unitOfWork.BeginTransaction(); var updatedModel = await _repository.UpdateAsync(_mapper.Map <GroupModel>(model)); var result = await _unitOfWork.CommitAsync(); return(result > 0 ? _mapper.Map <GroupManageModel>(updatedModel) : null); }
public async Task Group_PutWithInvalidGroup_ShouldReturnNotFound() { var model = new GroupManageModel { Id = DefaultInvalidGroup, Name = "New user", Users = new List <UserModelBase>() { new UserModelBase { Id = DefaultUser } } }; var results = await _controller.Put(model); results.Should().BeOfType <NotFoundResult>(); }
public async Task Group_PutWithInvalidUser_ShouldReturnForbid() { MockUser(_controller, DefaultInvalidUser); var model = new GroupManageModel { Id = DefaultGroup, Name = "New user", Users = new List <UserModelBase>() { new UserModelBase { Id = DefaultUser } } }; var results = await _controller.Put(model); results.Should().BeOfType <ForbidResult>(); }
public async Task Group_Put_ShouldReturnData() { var model = new GroupManageModel { Id = DefaultGroup, Name = "New name", Users = new List <UserModelBase>() { new UserModelBase { Id = DefaultUser } } }; var results = await _controller.Put(model); results .Should().BeOfType <OkObjectResult>() .Which.Value.Should().BeAssignableTo <GroupManageModel>() .Which.Should().NotBeNull(); }