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); }
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)); }