Beispiel #1
0
        public async Task <VmPage <VmScenarioSummary> > GetAll([FromQuery] ScenarioSummaryApiParams scenarioSummaryParams)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpStatusCodeException(HttpStatusCode.BadRequest, ModelState.Errors());
            }

            var validFilters = scenarioSummaryParams.GetValidFilters();

            var sorts = scenarioSummaryParams.GetSorts();

            var results = await _scenarioWebService.GetAll(
                validFilters,
                sorts,
                scenarioSummaryParams.PageIndex,
                scenarioSummaryParams.PageLimit
                );

            return(new VmPage <VmScenarioSummary>
            {
                Items = VmScenarioSummary.Build(results),
                PageIndex = results.PageIndex,
                PageSize = results.PageSize,
                TotalCount = results.Total
            });
        }
Beispiel #2
0
        public void GetAll_ThrowsBadRequest_IfNonEpochIsEnteredForDateTimeField()
        {
            var scenarioController = new ScenarioController(_hierarchyServiceMock.Object,
                                                            _scenarioWebServiceMock.Object,
                                                            _recommendationServiceMock.Object,
                                                            _fileUploadServiceMock.Object,
                                                            _organisationDataProvider.Object);

            var scenarioSummaryParamsLt = new ScenarioSummaryApiParams {
                LastRunDate = "Lt:randomChars"
            };
            var responseLt = scenarioController.GetAll(scenarioSummaryParamsLt);

            var httpStatusCodeExceptionLt = (ErrorHandlerMiddleware.HttpStatusCodeException)responseLt.Exception.InnerException;

            Assert.Equal(HttpStatusCode.BadRequest, httpStatusCodeExceptionLt.StatusCode);
        }
Beispiel #3
0
        public void GetAll_ThrowsBadRequest_IfDecimalIsEnteredForIntegerField()
        {
            var scenarioController = new ScenarioController(_hierarchyServiceMock.Object,
                                                            _scenarioWebServiceMock.Object,
                                                            _recommendationServiceMock.Object,
                                                            _fileUploadServiceMock.Object,
                                                            _organisationDataProvider.Object);

            var scenarioSummaryParams = new ScenarioSummaryApiParams {
                ProductCount = "Gt:1.23344"
            };

            var response = scenarioController.GetAll(scenarioSummaryParams);

            var httpStatusCodeException = (ErrorHandlerMiddleware.HttpStatusCodeException)response.Exception.InnerException;

            Assert.Equal(HttpStatusCode.BadRequest, httpStatusCodeException.StatusCode);
        }
Beispiel #4
0
        public void GetAll_ThrowsBadRequest_IfFilterOperatorIsNotSupported()
        {
            var scenarioController = new ScenarioController(_hierarchyServiceMock.Object,
                                                            _scenarioWebServiceMock.Object,
                                                            _recommendationServiceMock.Object,
                                                            _fileUploadServiceMock.Object,
                                                            _organisationDataProvider.Object);

            var scenarioSummaryParams = new ScenarioSummaryApiParams {
                ProductCount = "opThatIsn'tSupported:234"
            };

            var response = scenarioController.GetAll(scenarioSummaryParams);

            var httpStatusCodeException = (ErrorHandlerMiddleware.HttpStatusCodeException)response.Exception.InnerException;

            Assert.Equal(HttpStatusCode.BadRequest, httpStatusCodeException.StatusCode);
        }