public async Task OversightReview_Gets_OversightReview_For_Application()
        {
            var request     = new GetOversightReviewRequest();
            var queryResult = AutoFixture.Create <GetOversightReviewQueryResult>();

            _mediator.Setup(x => x.Send(It.IsAny <GetOversightReviewQuery>(), It.IsAny <CancellationToken>())).ReturnsAsync(queryResult);

            var result = await _controller.OversightReview(request);

            result.Should().BeOfType <ActionResult <GetOversightReviewResponse> >();

            var compareLogic = new CompareLogic(new ComparisonConfig {
                IgnoreObjectTypes = true
            });
            var comparisonResult = compareLogic.Compare(queryResult, result);

            Assert.IsTrue(comparisonResult.AreEqual);
        }
        public async Task <ActionResult <GetOversightReviewResponse> > OversightReview(GetOversightReviewRequest request)
        {
            var query = new GetOversightReviewQuery {
                ApplicationId = request.ApplicationId
            };

            var result = await _mediator.Send(query);

            return(result == null ? null : new GetOversightReviewResponse
            {
                Id = result.Id,
                Status = result.Status,
                ApplicationDeterminedDate = result.ApplicationDeterminedDate,
                InProgressDate = result.InProgressDate,
                InProgressUserId = result.InProgressUserId,
                InProgressUserName = result.InProgressUserName,
                InProgressInternalComments = result.InProgressInternalComments,
                InProgressExternalComments = result.InProgressExternalComments,
                GatewayApproved = result.GatewayApproved,
                ModerationApproved = result.ModerationApproved,
                InternalComments = result.InternalComments,
                ExternalComments = result.ExternalComments,
                UserId = result.UserId,
                UserName = result.UserName
            });
        }