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