public async Task ChangeIssueStatus_WhenNotValidModelPassed_ReturnsValidationError() { //issue id is empty var request = new ChangeIssueStatusRequest() { Status = Status.Closed }; var httpResponse = await PostAsync(IssueControllerRoutes.ChangeIssueStatus, request); var response = await httpResponse.BodyAs <ApiResponse <IssueDto> >(); response.CheckValidationException(1); //status is empty request = new ChangeIssueStatusRequest() { IssueId = Guid.NewGuid() }; httpResponse = await PostAsync(IssueControllerRoutes.ChangeIssueStatus, request); response = await httpResponse.BodyAs <ApiResponse <IssueDto> >(); response.CheckValidationException(1); //status and issue id is empty request = new ChangeIssueStatusRequest(); httpResponse = await PostAsync(IssueControllerRoutes.ChangeIssueStatus, request); response = await httpResponse.BodyAs <ApiResponse <IssueDto> >(); response.CheckValidationException(2); }
public async Task ChangeIssueStatus_WhenIssueNotFound_ReturnsIssueNotFound() { var request = new ChangeIssueStatusRequest() { IssueId = Guid.NewGuid(), Status = Status.Closed }; var httpResponse = await PostAsync(IssueControllerRoutes.ChangeIssueStatus, request); httpResponse.EnsureSuccessStatusCode(); var response = await httpResponse.BodyAs <ApiResponse <IssueDto> >(); response.VerifyNotSuccessResponseWithErrorCodeAndMessage(ErrorCode.IssueNotFound); }
public async Task ChangeIssueStatus_WhenRequestIsValid_ReturnsSuccessStatus() { var request = new ChangeIssueStatusRequest() { IssueId = IssuesDbSet.Get().First().Id, Status = Status.Closed }; var httpResponse = await PostAsync(IssueControllerRoutes.ChangeIssueStatus, request); httpResponse.EnsureSuccessStatusCode(); var response = await httpResponse.BodyAs <ApiResponse <IssueDto> >(); var issue = await GetIssueFromDatabase(request.IssueId); issue.Status.Should().Be(request.Status); response.StatusCode.Should().Be(200); await ReSeedDatabase(); }
public async Task <ApiResponse <IssueDto> > ChangeIssueStatus([FromBody] ChangeIssueStatusRequest request) { return(await _issueService.ChangeIssueStatus(request.Status, request.IssueId)); }