public async Task GetDatasetAggregations_GivenSpecificationIdAndTwoAggregationsFound_ReturnsOKObjectWithTwoItems()
        {
            //Arrange
            IEnumerable <DatasetAggregations> datasetAggregations = new[]
            {
                new DatasetAggregations(),
                new DatasetAggregations()
            };

            IDatasetsAggregationsRepository datasetsAggregationsRepository = CreateDatasetsAggregationsRepository();

            datasetsAggregationsRepository
            .GetDatasetAggregationsForSpecificationId(Arg.Is(SpecificationId))
            .Returns(datasetAggregations);

            ProcessDatasetService processDatasetService = CreateProcessDatasetService(datasetsAggregationsRepository: datasetsAggregationsRepository);

            //Act
            IActionResult result = await processDatasetService.GetDatasetAggregationsBySpecificationId(SpecificationId);

            //Assert
            result
            .Should()
            .BeOfType <OkObjectResult>()
            .Which
            .Value
            .Should()
            .BeOfType <DatasetAggregations[]>()
            .Which
            .Length
            .Should()
            .Be(2);
        }
        public async Task GetDatasetAggregations_GivenSpecificationIdButNullAggregationsFound_ReturnsOKObjectWithEmptyList()
        {
            //Arrange
            IDatasetsAggregationsRepository datasetsAggregationsRepository = CreateDatasetsAggregationsRepository();

            datasetsAggregationsRepository
            .GetDatasetAggregationsForSpecificationId(Arg.Is(SpecificationId))
            .Returns((IEnumerable <DatasetAggregations>)null);

            ProcessDatasetService processDatasetService = CreateProcessDatasetService(datasetsAggregationsRepository: datasetsAggregationsRepository);

            //Act
            IActionResult result = await processDatasetService.GetDatasetAggregationsBySpecificationId(SpecificationId);

            //Assert
            result
            .Should()
            .BeOfType <OkObjectResult>()
            .Which
            .Value
            .Should()
            .BeOfType <DatasetAggregations[]>()
            .Which
            .Length
            .Should()
            .Be(0);
        }
예제 #3
0
        async public Task <IActionResult> GetDatasetAggregationsBySpecificationId(string specificationId)
        {
            Guard.IsNullOrWhiteSpace(specificationId, nameof(specificationId));

            IEnumerable <DatasetAggregations> aggregates = await _datasetsAggregationsRepository.GetDatasetAggregationsForSpecificationId(specificationId);

            if (aggregates == null)
            {
                aggregates = Enumerable.Empty <DatasetAggregations>();
            }

            return(new OkObjectResult(aggregates));
        }