Ejemplo n.º 1
0
        public async Task GetUserByEmployeeIdAsync()
        {
            await CreateUserAndMockingHttpContextToReturnAccessToken();

            var response   = Task.FromResult(_stringConstant.UserDetailsFromOauthServer);
            var requestUrl = string.Format(_stringConstant.FirstAndSecondIndexStringFormat, _stringConstant.EmployeeIdForTest, _stringConstant.UserDetailUrl);

            _mockHttpClient.Setup(x => x.GetAsync(_stringConstant.UserUrl, requestUrl, _stringConstant.AccessTokenForTest, _stringConstant.Bearer)).Returns(response);
            var userDetails = await _oauthCallHttpContextRepository.GetUserByEmployeeIdAsync(_stringConstant.EmployeeIdForTest);

            Assert.Equal(userDetails.UserName, _stringConstant.TestUserName);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Method to return the list of projects depending on the role of the logged in user
        /// </summary>
        /// <param name="userId">userId of user</param>
        /// <returns>List of projects</returns>
        public async Task <IEnumerable <ProjectAc> > GetProjectsAsync(string userId)
        {
            //Getting the details of the logged in user from Oauth server
            User loginUser = await _oauthCallsRepository.GetUserByEmployeeIdAsync(userId);

            List <ProjectAc> projects = new List <ProjectAc>();

            if (loginUser.Role.Equals(_stringConstant.Admin))
            {
                projects = await _oauthCallsRepository.GetAllProjectsAsync();
            }
            else
            {
                projects = await _oauthCallsRepository.GetListOfProjectsEnrollmentOfUserByUserIdAsync(loginUser.Id);
            }
            return(projects);
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> CurrentUserIsAdminOrNot()
        {
            UserAdminBasicDetailsAC userDetails = new UserAdminBasicDetailsAC();

            userDetails.FirstName = (await _oauthCallRepository.GetUserByEmployeeIdAsync(GetUserId(User.Identity))).FirstName;
            userDetails.IsAdmin   = await _oauthCallRepository.CurrentUserIsAdminAsync();

            return(Ok(userDetails));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Method to get user details from the Oauth server using their id and access token
        /// </summary>
        /// <param name="employeeId">userId of user</param>
        /// <returns>User details</returns>
        private async Task <User> GetEmployeeByIdAsync(string employeeId)
        {
            User user = await _oauthCallsRepository.GetUserByEmployeeIdAsync(employeeId);

            return(user);
        }