public async Task <SubdomainStatsDtoResult> GetSubdomainStatsDto(string domain, string provider, DateTime startDate, DateTime endDate, int page, int pageSize, string categoryFilter = null) { provider = _providerDetailsProvider.GetProviderAliasIn(provider); string providerAlias = _providerDetailsProvider.GetProviderAliasOut(provider); string providerMarkdown = _providerDetailsProvider.GetProviderMarkdown(provider); SubdomainStatsResult subdomainStatsResult = await _aggregateReportApiDao.GetSubdomainStats(domain, provider, startDate, endDate, page, pageSize, categoryFilter); List <SubdomainStatsDto> subdomainStatsDto = new List <SubdomainStatsDto>(); foreach (SubdomainStats subdomain in subdomainStatsResult.SubdomainStats) { SubdomainStatsDto subdomainDto = _subdomainStatsMapper.Map(subdomain, providerAlias, providerMarkdown); subdomainStatsDto.Add(subdomainDto); } SubdomainStatsDtoResult subdomainStatsDtoResult = new SubdomainStatsDtoResult( _subdomainStatsMapper.Map(subdomainStatsResult.DomainStats, providerAlias, providerMarkdown), subdomainStatsDto, subdomainStatsResult.TotalCount); return(subdomainStatsDtoResult); }
public async Task CheckGetSubdomainStatsDtoReturnsSubdomainStatsDto() { string domain = "ncsc.gov.uk"; string subdomain = "digital.ncsc.gov.uk"; int totalCount = 20; string provider = "testProvider"; string alias = "testAlias"; string markdown = "testMarkdown"; A.CallTo(() => _providerDetailsProvider.GetProviderAliasIn(alias)) .Returns(provider); A.CallTo(() => _providerDetailsProvider.GetProviderAliasOut(provider)) .Returns(alias); A.CallTo(() => _providerDetailsProvider.GetProviderMarkdown(provider)) .Returns(markdown); SubdomainStats domainStats = new SubdomainStats(domain, provider, subdomain, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 22); SubdomainStatsResult subdomainStatsResult = new SubdomainStatsResult(domainStats, new List <SubdomainStats>() { domainStats }, totalCount); A.CallTo(() => _aggregateReportApiDao.GetSubdomainStats(domain, provider, A <DateTime> ._, A <DateTime> ._, A <int> ._, A <int> ._, null)) .Returns(Task.FromResult(subdomainStatsResult)); SubdomainStatsDto subdomainStatsDto = new SubdomainStatsDto(domain, provider, subdomain, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20, 21, 22, alias, markdown); A.CallTo(() => _subdomainStatsMapper.Map(domainStats, alias, markdown)) .Returns(subdomainStatsDto); SubdomainStatsDtoResult subdomainStatsDtoResults = await _aggregateReportService.GetSubdomainStatsDto(domain, alias, DateTime.MinValue, DateTime.MaxValue, 0, 0); Assert.AreSame(subdomainStatsDto, subdomainStatsDtoResults.DomainStatsDto); Assert.AreSame(subdomainStatsDto, subdomainStatsDtoResults.SubdomainStatsDto[0]); Assert.AreEqual(totalCount, subdomainStatsDtoResults.TotalCount); }