/// <summary> /// Method to return the details of scrum for a particular project /// </summary> /// <param name="projectId">project Id</param> /// <param name="scrumDate">Date of scrum</param> /// <param name="userId">userId of user</param> /// <returns>Details of the scrum</returns> public async Task <ScrumProjectDetails> ScrumReportDetailsAsync(int projectId, DateTime scrumDate, string userId) { _logger.Debug("start Method : " + scrumDate + "projectId :" + projectId); //Getting details of the logged in user from Oauth server User loginUser = await _oauthCallsRepository.GetUserByEmployeeIdAsync(userId); //Getting details of the specific project from Oauth server ProjectAc project = await _oauthCallsRepository.GetProjectDetailsAsync(projectId); //Getting scrum for a specific project Scrum scrum = await _scrumDataRepository.FirstOrDefaultAsync(x => x.ProjectId == project.Id && DbFunctions.TruncateTime(x.ScrumDate) == DbFunctions.TruncateTime(scrumDate)); _logger.Debug("scrume object: " + scrum); ScrumProjectDetails scrumProjectDetail = new ScrumProjectDetails(); scrumProjectDetail.ScrumDate = scrumDate.ToString(_stringConstant.FormatForDate); if (scrum != null) { scrumProjectDetail.ProjectCreationDate = project.CreatedDate; if (loginUser.Role == _stringConstant.Admin) { project.TeamLeaderId = loginUser.Id; } //getting scrum answers of employees in a specific project scrumProjectDetail.EmployeeScrumAnswers = await GetEmployeeScrumDetailsAsync(project, scrum, loginUser, scrumDate); } return(scrumProjectDetail); }
public async Task GetProjectDetailsTrueAsync() { await CreateUserAndMockingHttpContextToReturnAccessToken(); int testProjectId = 1012; var responseProject = Task.FromResult(_stringConstant.ProjectDetail); var requestProjectUrl = string.Format(_stringConstant.FirstAndSecondIndexStringFormat, testProjectId, _stringConstant.GetProjectDetails); _mockHttpClient.Setup(x => x.GetAsync(_stringConstant.ProjectUrl, requestProjectUrl, _stringConstant.AccessTokenForTest, _stringConstant.Bearer)).Returns(responseProject); var project = await _oauthCallHttpContextRepository.GetProjectDetailsAsync(testProjectId); Assert.Equal(2, project.Users.Count); }