public void GetUserById_GetQuerySuccessfullyExecute_ReturnsOkObjectResult()
        {
            var id   = Guid.NewGuid();
            var user = new UserForDisplay();

            var userManagementServiceMock = new Mock <IUserManagementService>();

            userManagementServiceMock.Setup(x => x.GetUserById(id))
            .Returns(user);
            var userManagementController = new UserManagementController(userManagementServiceMock.Object);

            var result = userManagementController.GetUserById(id);

            Assert.IsTrue(result.GetType() == typeof(OkObjectResult));
        }
        ///<summary>
        ///Implements IUserManagemetService.GetUserById
        ///</summary>
        public UserForDisplay GetUserById(Guid id)
        {
            using (var connection = new SqlConnection(_connectionString))
            {
                connection.Open();
                string query      = @"SELECT * FROM [USER] WHERE Id = @Id";
                var    userFromDb = connection.QuerySingleOrDefault <UserFromDB>(query, new
                {
                    Id = id
                });

                var result = new UserForDisplay();
                result.FullName        = userFromDb.FullName;
                result.Username        = userFromDb.Username;
                result.PhoneNumber     = userFromDb.PhoneNumber;
                result.Email           = userFromDb.Email;
                result.SocialMediaLink = userFromDb.SocialMediaLink;
                result.City            = GetCityById(connection, userFromDb.City);

                return(result);
            }
        }
        public void GetUser_GetQuerySuccessfullyExecute_ReturnsOkObjectResult()
        {
            var id   = Guid.NewGuid();
            var user = new UserForDisplay();

            var userManagementServiceMock = new Mock <IUserManagementService>();

            userManagementServiceMock.Setup(x => x.GetUserById(id))
            .Returns(user);
            var userManagementController = new UserManagementController(userManagementServiceMock.Object);

            var claims = new List <Claim>()
            {
                new Claim(ClaimTypes.NameIdentifier, id.ToString())
            };
            var identity        = new ClaimsIdentity(claims);
            var claimsPrincipal = new ClaimsPrincipal(identity);

            var httpContextMock = new Mock <Microsoft.AspNetCore.Http.HttpContext>();

            httpContextMock.Setup(c => c.User).Returns(claimsPrincipal);

            var actionContext = new ActionContext()
            {
                ActionDescriptor = new Microsoft.AspNetCore.Mvc.Controllers.ControllerActionDescriptor(),
                RouteData        = new Microsoft.AspNetCore.Routing.RouteData()
            };

            actionContext.HttpContext = httpContextMock.Object;

            var controllerContext = new ControllerContext(actionContext);

            userManagementController.ControllerContext = controllerContext;

            var result = userManagementController.GetUser();

            Assert.IsTrue(result.GetType() == typeof(OkObjectResult));
        }