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); }
/// <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); }
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)); }
/// <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); }