コード例 #1
0
        public async Task UpdateWorkLogStatus_WhenNotFound_ReturnsWorkLogNotFound()
        {
            var claims = new Claim("roles", "TeamLead");
            var token  = GetJwtToken(new[] { claims });

            AddAuth(token);
            var request = new UpdateWorkLogStatusRequest
            {
                Description = "desc",
                IsApproved  = true,
                WorkLogId   = Guid.NewGuid()
            };

            var httpResponse = await PostAsync(WorkLogControllerRoutes.UpdateWorkLogStatus, request);

            httpResponse.EnsureSuccessStatusCode();
            var response = await httpResponse.BodyAs <ApiResponse <WorkLogDto> >();

            response.VerifyNotSuccessResponseWithErrorCodeAndMessage(ErrorCode.WorkLogNotFound);
        }
コード例 #2
0
        public async Task UpdateWorkLogStatus_WhenModelNotValid_ReturnsValidationErrors()
        {
            var claims = new Claim("roles", "TeamLead");
            var token  = GetJwtToken(new[] { claims });

            AddAuth(token);
            //description not set
            var request = new UpdateWorkLogStatusRequest
            {
                IsApproved = false,
                WorkLogId  = WorklogsDbSet.Get().First().Id
            };
            var httpResponse = await PostAsync(WorkLogControllerRoutes.UpdateWorkLogStatus, request);

            var response = await httpResponse.BodyAs <ApiResponse <WorkLogDto> >();

            response.CheckValidationException(2);

            //description and work log id not set
            request = new UpdateWorkLogStatusRequest
            {
                IsApproved = false
            };
            httpResponse = await PostAsync(WorkLogControllerRoutes.UpdateWorkLogStatus, request);

            response = await httpResponse.BodyAs <ApiResponse <WorkLogDto> >();

            response.CheckValidationException(3);

            //empty request
            request      = new UpdateWorkLogStatusRequest();
            httpResponse = await PostAsync(WorkLogControllerRoutes.UpdateWorkLogStatus, request);

            response = await httpResponse.BodyAs <ApiResponse <WorkLogDto> >();

            response.CheckValidationException(3);
        }
コード例 #3
0
        public async Task UpdateWorkLogStatus_WhenModelValidFound_UpdatesWorkLog()
        {
            var claims = new Claim("roles", "TeamLead");
            var token  = GetJwtToken(new[] { claims });

            AddAuth(token);
            var request = new UpdateWorkLogStatusRequest
            {
                Description = "desc",
                IsApproved  = false,
                WorkLogId   = WorklogsDbSet.Get().First().Id
            };

            var httpResponse = await PostAsync(WorkLogControllerRoutes.UpdateWorkLogStatus, request);

            httpResponse.EnsureSuccessStatusCode();
            var response = await httpResponse.BodyAs <ApiResponse <WorkLogDto> >();

            response.VerifySuccessResponse();
            var workLog = await GetWorkLogFromDatabase(request.WorkLogId);

            workLog.IsApproved.Should().Be(request.IsApproved);
            await ReSeedDatabase();
        }
コード例 #4
0
 public async Task <ApiResponse <WorkLogDto> > UpdateWorkLogStatus([FromBody] UpdateWorkLogStatusRequest request)
 {
     return(await _workLogService.UpdateWorkLogStatus(request.WorkLogId, request.IsApproved, request.Description));
 }