Ejemplo n.º 1
0
        public async Task CheckGetProviderStatsDtoReturnsProviderStats()
        {
            string domain   = "ncsc.gov.uk";
            string provider = "outlook.com";
            string alias    = "Microsoft Outlook";
            string markdown = "testMarkdown";

            ProviderStats providerStat = new ProviderStats(
                domain, provider, 0, 1, 2,
                3, 4, 5, 6, 7,
                8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22);
            ProviderStatsResult providerStatsResult = new ProviderStatsResult(new List <ProviderStats> {
                providerStat
            }, 20, 100);

            A.CallTo(() => _aggregateReportApiDao.GetProviderStats(domain, A <DateTime> ._,
                                                                   A <DateTime> ._, A <int> ._, A <int> ._, false, null, null))
            .Returns(Task.FromResult(providerStatsResult));

            ProviderStatsDto providerStatDto = new ProviderStatsDto(domain, provider, 0, 1, 2,
                                                                    3, 4, 5, 6, 7,
                                                                    8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22, alias, markdown);

            A.CallTo(() => _providerStatsMapper.Map(A <ProviderStats> ._, A <string> ._, A <string> ._))
            .Returns(providerStatDto);

            ProviderStatsDtoResult results = await _aggregateReportService.GetProviderStatsDto(domain, DateTime.MinValue, DateTime.MaxValue, 0, 0);

            Assert.AreEqual(provider, results.ProviderStats[0].Provider);
            Assert.AreEqual(alias, results.ProviderStats[0].ProviderAlias);
            Assert.AreEqual(markdown, results.ProviderStats[0].ProviderMarkdown);
        }
        public async Task <ProviderStatsDtoResult> GetProviderStatsDto(string domain, DateTime startDate,
                                                                       DateTime endDate,
                                                                       int page, int pageSize, bool rollup = false, string categoryFilter = null, string providerFilter = null)
        {
            ProviderStatsResult providerStatsResult =
                await _aggregateReportApiDao.GetProviderStats(domain, startDate, endDate, page, pageSize, rollup, categoryFilter, providerFilter);

            List <ProviderStatsDto> list = new List <ProviderStatsDto>();

            foreach (ProviderStats providerStats in providerStatsResult.ProviderStats)
            {
                string providerAlias =
                    _providerDetailsProvider.GetProviderAliasOut(
                        _providerDetailsProvider.GetProviderAliasIn(providerStats.Provider));
                string providerMarkdown = _providerDetailsProvider.GetProviderMarkdown(providerStats.Provider);
                var    ipDto            = _providerStatsMapper.Map(providerStats, providerAlias, providerMarkdown);
                list.Add(ipDto);
            }

            ProviderStatsDtoResult providerStatsDtoResult = new ProviderStatsDtoResult(list,
                                                                                       providerStatsResult.TotalCount, providerStatsResult.AllProviderTotalCount);

            return(providerStatsDtoResult);
        }