示例#1
0
        public async Task GetSummaryListReturnsOKAndViewModelsWhenReturnedFromSummaryService()
        {
            // Arrange
            var expectedModels = GetSummaryApiModels();

            A.CallTo(() => fakeSummaryService.GetSummaryList(A <string> .Ignored)).Returns(expectedModels);

            // Act
            var result = await functionApp.GetSummaryList(httpRequest, fakeSummaryService).ConfigureAwait(false);

            // Assert
            var okResult           = Assert.IsType <OkObjectResult>(result);
            var deserialisedResult = JsonConvert.DeserializeObject <IList <SummaryApiModel> >(okResult.Value.ToString());

            Assert.Equal((int)HttpStatusCode.OK, okResult.StatusCode);
            deserialisedResult.Should().BeEquivalentTo(expectedModels);
        }
        public async Task <IActionResult> GetSummaryList(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "summary")] HttpRequest request,
            [Inject] ISummaryService summaryService)
        {
            request.LogRequestHeaders(logService);

            var viewModels = await summaryService.GetSummaryList(request.GetAbsoluteUrlForRelativePath()).ConfigureAwait(false);

            if (viewModels is null || !viewModels.Any())
            {
                return(responseWithCorrelation.ResponseWithCorrelationId(HttpStatusCode.NoContent));
            }

            return(responseWithCorrelation.ResponseObjectWithCorrelationId(viewModels.OrderBy(jp => jp.Title)));
        }