public async Task AppealUploads_Gets_Files_For_Application_Appeal()
        {
            var request     = new GetStagedFilesRequest();
            var queryResult = new GetStagedFilesQueryResult
            {
                Files = new List <GetStagedFilesQueryResult.AppealFile>
                {
                    new GetStagedFilesQueryResult.AppealFile {
                        Id = Guid.NewGuid(), Filename = AutoFixture.Create <string>()
                    }
                }
            };

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

            var result = await _controller.StagedUploads(request);

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

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

            Assert.IsTrue(comparisonResult.AreEqual);
        }
        public async Task <ActionResult <GetStagedFilesResponse> > StagedUploads([FromRoute] GetStagedFilesRequest request)
        {
            var query = new GetStagedFilesQuery
            {
                ApplicationId = request.ApplicationId
            };

            var result = await _mediator.Send(query);

            return(new GetStagedFilesResponse
            {
                Files = result.Files.Select(file => new GetStagedFilesResponse.AppealFile {
                    Id = file.Id, Filename = file.Filename
                }).ToList()
            });
        }
 public async Task <AppealFiles> GetStagedUploads(GetStagedFilesRequest request)
 {
     return(await Get <AppealFiles>($"Oversight/{request.ApplicationId}/uploads"));
 }