Пример #1
0
        public async Task GetPublishedProviderResultWithHistoryByAllocationResultId_GivenResultFoundButNoHistory_ResturnsNull()
        {
            //Arrange
            string allocationResultId = "12345";

            string query = $"select c from c where c.documentType = 'PublishedAllocationLineResultVersion' and c.deleted = false and c.content.entityId = '{allocationResultId}'";

            PublishedProviderResult publishedProviderResult = new PublishedProviderResult {
                ProviderId = "1111"
            };

            IPublishedProviderResultsRepository publishedProviderResultsRepository = CreatePublishedProviderResultsRepository();

            publishedProviderResultsRepository
            .GetPublishedProviderResultForIdInPublishedState(Arg.Is(allocationResultId))
            .Returns(publishedProviderResult);

            IVersionRepository <PublishedAllocationLineResultVersion> versionRepository = CreatePublishedProviderResultsVersionRepository();

            versionRepository
            .GetVersions(Arg.Is(query), Arg.Is("1111"))
            .Returns((IEnumerable <PublishedAllocationLineResultVersion>)null);

            PublishedResultsService service = CreateResultsService(publishedProviderResultsRepository: publishedProviderResultsRepository, publishedProviderResultsVersionRepository: versionRepository);

            //Act
            PublishedProviderResultWithHistory result = await service.GetPublishedProviderResultWithHistoryByAllocationResultId(allocationResultId);

            //Assert
            result
            .Should()
            .BeNull();
        }
        async public Task GetCalculationHistory_GivenCalculationIdWasProvided_ReturnsOK()
        {
            //Arrange
            IEnumerable <CalculationVersion> versions = new List <CalculationVersion>
            {
                new CalculationVersion(),
                new CalculationVersion()
            };

            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns(versions);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(CalculationId);

            //Assert
            result
            .Should()
            .BeOfType <OkObjectResult>();
        }
        async public Task GetCalculationHistory_GivenCalculationIdWasProvidedButHistoryWasNull_ReturnsNotFound()
        {
            //Arrange
            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns((IEnumerable <CalculationVersion>)null);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(CalculationId);

            //Assert
            result
            .Should()
            .BeOfType <NotFoundResult>();

            logger
            .Received(1)
            .Information(Arg.Is($"A calculation was not found for calculation id {CalculationId}"));
        }
Пример #4
0
        public async Task <IActionResult> GetVersions()
        {
            var versions = await _repo.GetVersions();

            var versionsToReturn = _mapper.Map <IEnumerable <VersionForListDto> >(versions);

            return(Ok(versionsToReturn));
        }
Пример #5
0
        public async Task GetPublishedProviderResultWithHistoryByAllocationResultId_GivenResultAndHistory_ResturnsResult()
        {
            //Arrange
            string allocationResultId = "12345";

            PublishedProviderResult publishedProviderResult = new PublishedProviderResult
            {
                ProviderId          = "1111",
                FundingStreamResult = new PublishedFundingStreamResult
                {
                    AllocationLineResult = new PublishedAllocationLineResult {
                    }
                }
            };

            IEnumerable <PublishedAllocationLineResultVersion> history = new[]
            {
                new PublishedAllocationLineResultVersion(),
                new PublishedAllocationLineResultVersion(),
                new PublishedAllocationLineResultVersion()
            };

            IPublishedProviderResultsRepository publishedProviderResultsRepository = CreatePublishedProviderResultsRepository();

            publishedProviderResultsRepository
            .GetPublishedProviderResultForIdInPublishedState(Arg.Is(allocationResultId))
            .Returns(publishedProviderResult);

            IVersionRepository <PublishedAllocationLineResultVersion> versionRepository = CreatePublishedProviderResultsVersionRepository();

            versionRepository
            .GetVersions(Arg.Is(allocationResultId), Arg.Is("1111"))
            .Returns(history);

            PublishedResultsService service = CreateResultsService(publishedProviderResultsRepository: publishedProviderResultsRepository, publishedProviderResultsVersionRepository: versionRepository);

            //Act
            PublishedProviderResultWithHistory result = await service.GetPublishedProviderResultWithHistoryByAllocationResultId(allocationResultId);

            //Assert
            result
            .Should()
            .NotBeNull();

            result
            .PublishedProviderResult
            .Should()
            .NotBeNull();

            result
            .History
            .Count()
            .Should()
            .Be(3);
        }
Пример #6
0
        async public Task GetCalculationHistory_GivenCalculationIdWasProvided_ReturnsOK()
        {
            //Arrange
            IEnumerable <CalculationVersion> versions = new List <CalculationVersion>
            {
                new CalculationVersion(),
                new CalculationVersion()
            };

            IQueryCollection queryStringValues = new QueryCollection(new Dictionary <string, StringValues>
            {
                { "calculationId", new StringValues(CalculationId) }
            });

            HttpRequest request = Substitute.For <HttpRequest>();

            request
            .Query
            .Returns(queryStringValues);

            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns(versions);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(request);

            //Assert
            result
            .Should()
            .BeOfType <OkObjectResult>();
        }
Пример #7
0
        async public Task GetCalculationHistory_GivenCalculationIdWasProvidedButHistoryWasNull_ReturnsNotFound()
        {
            //Arrange
            IQueryCollection queryStringValues = new QueryCollection(new Dictionary <string, StringValues>
            {
                { "calculationId", new StringValues(CalculationId) }
            });

            HttpRequest request = Substitute.For <HttpRequest>();

            request
            .Query
            .Returns(queryStringValues);

            ILogger logger = CreateLogger();

            IVersionRepository <CalculationVersion> versionsRepository = CreateCalculationVersionRepository();

            versionsRepository
            .GetVersions(Arg.Is(CalculationId))
            .Returns((IEnumerable <CalculationVersion>)null);

            CalculationService service = CreateCalculationService(logger: logger, calculationVersionRepository: versionsRepository);

            //Act
            IActionResult result = await service.GetCalculationHistory(request);

            //Assert
            result
            .Should()
            .BeOfType <NotFoundResult>();

            logger
            .Received(1)
            .Information(Arg.Is($"A calculation was not found for calculation id {CalculationId}"));
        }
        public async Task <IEnumerable <PublishedProviderVersion> > GetVersions(PublishedProvider publishedProvider)
        {
            Guard.ArgumentNotNull(publishedProvider, nameof(publishedProvider));

            return(await _versionRepository.GetVersions(publishedProvider.Id));
        }
Пример #9
0
        public async Task <IEnumerable <ModelVersion> > GetVersionAsync(string modelId)
        {
            var versions = await _versionRepository.GetVersions(modelId);

            return(versions);
        }
Пример #10
0
 public Service(IVersionRepository repository)
 {
     _versions = repository.GetVersions();
 }