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); }
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); }
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(); }
public async Task <ApiResponse <WorkLogDto> > UpdateWorkLogStatus([FromBody] UpdateWorkLogStatusRequest request) { return(await _workLogService.UpdateWorkLogStatus(request.WorkLogId, request.IsApproved, request.Description)); }