Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateCurrentUser([FromBody] UpdateCurrentUserRequest updatedUser)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            if (user == null)
            {
                return(NotFound());
            }

            user.UserName    = updatedUser.UserName ?? user.UserSurname;
            user.Age         = updatedUser.Age ?? user.Age;
            user.UserSurname = updatedUser.UserSurname ?? user.UserSurname;
            user.Description = updatedUser.Description ?? user.Description;
            user.PhoneNumber = updatedUser.PhoneNumber ?? user.PhoneNumber;

            var result = await _userManager.UpdateAsync(user);

            if (result.Succeeded)
            {
                _logger.Info($"User updated successfully - {user.Email}.");
                return(NoContent());
            }

            return(BadRequest());
        }
Ejemplo n.º 2
0
        public async Task UpdateCurrentUser_NoContent()
        {
            userManager.Setup(t => t.GetUserAsync(principal)).Returns(Task.FromResult(_users[0]));
            _requestController = new UserController(userManager.Object, _mapper, _logger);

            _requestController.ControllerContext = new ControllerContext
            {
                HttpContext = fakeHttpContext.Object
            };

            var updateUser = new UpdateCurrentUserRequest()
            {
                UserName = "******", UserSurname = "y", Age = 12, Description = "z", PhoneNumber = "123123123"
            };
            var result = await _requestController.UpdateCurrentUser(updateUser);

            result.Should().NotBeNull();
            var okResult = result.Should().BeOfType <NoContentResult>().Subject;

            Assert.True(result.As <NoContentResult>().StatusCode.Equals(204));
        }