Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
        }
Пример #4
0
 public async Task <ApiResponse <IssueDto> > ChangeIssueStatus([FromBody] ChangeIssueStatusRequest request)
 {
     return(await _issueService.ChangeIssueStatus(request.Status, request.IssueId));
 }