public void CallTest() { //Arrange const string portalUrl = "portalUrl"; var domainReport = new DomainReport(); var domainStatWatching1 = new DomainStatWatching(); var domainStatWatching2 = new DomainStatWatching() { UrlReferrer = "UrlReferrer" }; var domainStatWatching3 = new DomainStatWatching() { UrlReferrer = portalUrl }; var statWatchingFilter = new Mock <IStatWatchingFilter>(); var embedViewsFilter = new EmbeddedViewsFilter(portalUrl); embedViewsFilter.Set(statWatchingFilter.Object); //Act embedViewsFilter.Call(domainStatWatching1, domainReport); embedViewsFilter.Call(domainStatWatching2, domainReport); embedViewsFilter.Call(domainStatWatching3, domainReport); //Assert Assert.AreEqual(1, domainReport.EmbeddedViews); statWatchingFilter.Verify(m => m.Call(domainStatWatching1, domainReport), Times.Once()); statWatchingFilter.Verify(m => m.Call(domainStatWatching2, domainReport), Times.Once()); statWatchingFilter.Verify(m => m.Call(domainStatWatching3, domainReport), Times.Once()); }
public void Call(DomainStatWatching domainStatWatching, DomainReport domainReport) { if (!string.IsNullOrEmpty(domainStatWatching.UrlReferrer) && !new Uri(domainStatWatching.UrlReferrer).Host.Equals(_portalUrl, StringComparison.OrdinalIgnoreCase)) { domainReport.EmbeddedViews++; } if (Filter != null) { Filter.Call(domainStatWatching, domainReport); } }
public void Call(DomainStatWatching domainStatWatching, DomainReport domainReport) { if (!String.IsNullOrEmpty(domainStatWatching.UserAgent) && RegularClient.IsMatch(domainStatWatching.UserAgent)) { domainReport.TotalViews++; } if (Filter != null) { Filter.Call(domainStatWatching, domainReport); } }
public void CallWhenNotSetFelterTest() { //Arrange var domainStatWatching = new DomainStatWatching(); var domainReport = new DomainReport(); var allViewsFilter = new TotalViewsFilter(); //Act allViewsFilter.Call(domainStatWatching, domainReport); allViewsFilter.Call(domainStatWatching, domainReport); //Assert Assert.AreEqual(2, domainReport.TotalViews); }
public void GetWatchingsTest() { //Arrange var domain1 = new DomainStatWatching(); var domain2 = new DomainStatWatching(); var entity1 = new StatWatchingV2Entity() { Tick = Tick1 }; var entity2 = new StatWatchingV2Entity() { Tick = Tick2 }; var entities = new List <StatWatchingV2Entity>() { entity1, entity2 }; var repository = new Mock <IRepository <StatWatchingV2Entity> >(); var repositoryFactory = new Mock <IRepositoryFactory>(); var tableValueConverter = new Mock <ITableValueConverter>(); var statMapper = new Mock <IStatMapper>(); repositoryFactory.Setup(m => m.Create <StatWatchingV2Entity>(Tables.StatWatchingV2)).Returns(repository.Object); repository.Setup(m => m.GetStatEntities(It.Is <StatQueryObject>(p => p.StartInterval == Tick2 && p.EndInterval == Tick1 && p.IsStartInclude == false && p.IsEndInclude == false))) .Returns(entities); tableValueConverter.Setup(m => m.DateTimeToComparerTick(_startDate)).Returns(Tick2); tableValueConverter.Setup(m => m.DateTimeToComparerTick(_finishDate)).Returns(Tick1); statMapper.Setup(m => m.StatWatchingToDomain(entity1)).Returns(domain1); statMapper.Setup(m => m.StatWatchingToDomain(entity2)).Returns(domain2); var statisticsService = new StatisticsService(repositoryFactory.Object, tableValueConverter.Object, statMapper.Object); //Act var result = statisticsService.GetWatchings(_interval).ToList(); //Assert Assert.AreEqual(2, result.Count); CollectionAssert.Contains(result, domain1); CollectionAssert.Contains(result, domain2); }
public void CallTest() { //Arrange var domainStatWatching = new DomainStatWatching(); var domainReport = new DomainReport(); var statWatchingFilter = new Mock <IStatWatchingFilter>(); var allViewsFilter = new TotalViewsFilter(); allViewsFilter.Set(statWatchingFilter.Object); //Act allViewsFilter.Call(domainStatWatching, domainReport); //Assert Assert.AreEqual(1, domainReport.TotalViews); statWatchingFilter.Verify(m => m.Call(domainStatWatching, domainReport), Times.Once()); }
public void FilterStatWatchingTest() { //Arrange var domainStatWatching = new DomainStatWatching(); var statWatchingFilters = new List <IStatWatchingFilter>(); var filter = new Mock <IStatWatchingFilter>(); _filtersFactory.Setup(m => m.CreateStatWatchingFilters()).Returns(statWatchingFilters); _filtersChainBuilder.Setup(m => m.BuildStatWatchingFilter(statWatchingFilters)).Returns(filter.Object); var filtersManager = new FiltersManager(_filtersFactory.Object, _filtersChainBuilder.Object); //Act filtersManager.FilterStatWatching(domainStatWatching, _domainReport); //Assert filter.Verify(m => m.Call(domainStatWatching, _domainReport), Times.Once()); }
public void CallWhenNotSetFelterTest() { //Arrange const string portalUrl = "portalUrl"; var domainStatWatching = new DomainStatWatching() { UrlReferrer = "UrlReferrer" };; var domainReport = new DomainReport(); var embedViewsFilter = new EmbeddedViewsFilter(portalUrl); //Act embedViewsFilter.Call(domainStatWatching, domainReport); embedViewsFilter.Call(domainStatWatching, domainReport); //Assert Assert.AreEqual(2, domainReport.EmbeddedViews); }
public void FilterStatWatching(DomainStatWatching domainStatWatching, DomainReport domainReport) { _statWatchingFilter.Call(domainStatWatching, domainReport); }
public void CompileReportTest() { //Arrange const string projectId1 = "projectId1"; const string projectId2 = "projectId2"; const int days = 3; var startDate = new DateTime(3452345234); var finishDate = startDate.Add(TimeSpan.FromDays(days)); var interval = new Interval() { Start = startDate, Finish = finishDate }; var watching1 = new DomainStatWatching(); var watching2 = new DomainStatWatching(); var registration1 = new DomainStatUserRegistration(); var registration2 = new DomainStatUserRegistration(); var uploading1 = new DomainStatProjectUploading() { ProjectId = projectId1 }; var uploading2 = new DomainStatProjectUploading() { ProjectId = projectId2 }; var deletion1 = new DomainStatProjectDeletion() { ProjectId = projectId1 }; var deletion2 = new DomainStatProjectDeletion() { ProjectId = projectId2 }; var projectState1 = new DomainStatProjectState(); var projectState2 = new DomainStatProjectState(); var watchings = new List <DomainStatWatching>() { watching1, watching2 }; var registratios = new List <DomainStatUserRegistration>() { registration1, registration2 }; var uploadings = new List <DomainStatProjectUploading>() { uploading1, uploading2 }; var deletions = new List <DomainStatProjectDeletion>() { deletion1, deletion2 }; var filtersManager = new Mock <IFiltersManager>(); var statisticsService = new Mock <IStatisticsService>(); var compiler = new StatisticsCompiler(filtersManager.Object, statisticsService.Object, interval); statisticsService.Setup(m => m.GetWatchings(interval)).Returns(watchings); statisticsService.Setup(m => m.GetUserRegistrations(interval)).Returns(registratios); statisticsService.Setup(m => m.GetProjectUploadings(interval)).Returns(uploadings); statisticsService.Setup(m => m.GetProjectDeletions(interval)).Returns(deletions); statisticsService.Setup(m => m.GetProjectState(projectId1)).Returns(projectState1); statisticsService.Setup(m => m.GetProjectState(projectId2)).Returns(projectState2); //Act var report = compiler.CompileReport(); //Assert Assert.AreEqual(days.ToString(CultureInfo.InvariantCulture), report.Interval); filtersManager.Verify(m => m.FilterStatWatching(watching1, report), Times.Once()); filtersManager.Verify(m => m.FilterStatWatching(watching2, report), Times.Once()); filtersManager.Verify(m => m.FilterStatUserRegistration(registration1, report), Times.Once()); filtersManager.Verify(m => m.FilterStatUserRegistration(registration2, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectUploading(projectState1, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectUploading(projectState2, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectDeletion(projectState1, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectDeletion(projectState2, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectCancellation(projectState1, report), Times.Once()); filtersManager.Verify(m => m.FilterStatProjectCancellation(projectState2, report), Times.Once()); }