public async Task GetSelectedSpecificationsByFundingPeriodIdAndFundingStreamId_GivenFundingStreamIdAndFundingPeriodId_ReturnsSpecificationSummary() { string fundingStreamId = NewRandomString(); string fundingPeriodId = NewRandomString(); string specificationId = NewRandomString(); IMapper mapper = CreateImplementedMapper(); ISpecificationsRepository specificationsRepository = CreateSpecificationsRepository(); IEnumerable <Specification> specifications = NewSpecifications(_ => _.WithId(specificationId)); specificationsRepository .GetSpecificationsSelectedForFundingByPeriodAndFundingStream(fundingPeriodId, fundingStreamId) .Returns(specifications); SpecificationsService service = CreateService( mapper: mapper, specificationsRepository: specificationsRepository); IActionResult result = await service.GetSelectedSpecificationsByFundingPeriodIdAndFundingStreamId(fundingPeriodId, fundingStreamId); result .Should() .BeOfType <OkObjectResult>() .Which .Value .Should() .BeOfType <List <SpecificationSummary> >() .And .NotBeNull(); List <SpecificationSummary> objContent = (List <SpecificationSummary>)((OkObjectResult)result).Value; SpecificationSummary specificationSummary = objContent.FirstOrDefault(); specificationSummary .Should() .NotBeNull(); specificationSummary .Id .Should() .Be(specificationId); }