public void LeaveReportAdminTest()
        {
            var response   = Task.FromResult(_stringConstant.UserDetailsFromOauthServer);
            var requestUrl = string.Format("{0}{1}", _stringConstant.LoginUserDetail, _stringConstant.TestUserName);

            _mockHttpClient.Setup(x => x.GetAsync(_stringConstant.UserUrl, requestUrl, _stringConstant.TestAccessToken)).Returns(response);
            var requestIdUrl = string.Format("{0}{1}", _stringConstant.UserDetailUrl, _stringConstant.EmployeeIdForTest);

            _mockHttpClient.Setup(x => x.GetAsync(_stringConstant.UserUrl, requestIdUrl, _stringConstant.TestAccessToken)).Returns(response);
            leave.EmployeeId = _stringConstant.EmployeeIdForTest;
            _leaveRequestRepository.ApplyLeave(leave);
            var leaveReports = _leaveReportRepository.LeaveReport(_stringConstant.TestAccessToken, _stringConstant.TestUserName).Result;

            Assert.Equal(1, leaveReports.Count());
        }
        public async Task <IHttpActionResult> LeaveReport()
        {
            try
            {
                var accessToken = await _attachmentRepository.AccessToken(User.Identity.Name);

                var loginUser = await _userManager.FindByNameAsync(User.Identity.Name);

                return(Ok(await _leaveReport.LeaveReport(accessToken, loginUser.UserName)));
            }
            catch (Exception ex)
            {
                _logger.Error(ex.ToString());
                throw ex;
            }
        }