示例#1
0
        public void Get_PageViews_ReturnReversedPages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, [Frozen] IPageViewRepository viewRepository, VisitsRepository visitsRepository)
        {
            //Arrange
            this.InitTracker(tracker);
            var pages = new List <ICurrentPageContext>
            {
                this.GeneratePage(path: "0"),
                this.GeneratePage(path: "1"),
                this.GeneratePage(path: "2")
            };

            tracker.Interaction.GetPages().Returns(pages);
            contactProfileProvider.Contact.Returns(x => tracker.Contact);
            viewRepository.Get(Arg.Any <ICurrentPageContext>()).Returns(x => new PageView()
            {
                Path = x.Arg <ICurrentPageContext>().Url.Path
            });

            using (new TrackerSwitcher(tracker))
            {
                //Act
                var visits = visitsRepository.Get();
                //Assert
                visits.PageViews.Select(x => x.Path).Should().BeEquivalentTo("2", "1", "0");
            }
        }
示例#2
0
        public void Get_Value_ReturnsEngagementValue(int value, ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository)
        {
            //Arrange
            this.InitTracker(tracker);
            contactProfileProvider.Contact.Returns(x => tracker.Contact);
            tracker.Contact.System.Value.Returns(value);

            using (new TrackerSwitcher(tracker))
            {
                //Act
                var visits = visitsRepository.Get();
                //Assert
                visits.EngagementValue.Should().Be(value);
            }
        }
示例#3
0
        public void Get_PageViews_ReturnOnly10Pages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository)
        {
            //Arrange
            this.InitTracker(tracker);
            var pages = Enumerable.Repeat(this.GeneratePage(), 15);

            tracker.Interaction.GetPages().Returns(pages);
            contactProfileProvider.Contact.Returns(x => tracker.Contact);
            ;

            using (new TrackerSwitcher(tracker))
            {
                //Act
                var visits = visitsRepository.Get();
                //Assert
                visits.PageViews.Should().HaveCount(10);
                visits.TotalPageViews.Should().Be(15);
            }
        }
示例#4
0
        public void Get_PageViews_DoNotReturnCancelledPages(ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository)
        {
            //Arrange
            this.InitTracker(tracker);
            var pages = new List <ICurrentPageContext>
            {
                this.GeneratePage(false),
                this.GeneratePage(true),
                this.GeneratePage(false)
            };

            tracker.Interaction.GetPages().Returns(pages);
            contactProfileProvider.Contact.Returns(x => tracker.Contact);
            ;

            using (new TrackerSwitcher(tracker))
            {
                //Act
                var visits = visitsRepository.Get();
                //Assert
                visits.PageViews.Should().HaveCount(2);
                visits.TotalPageViews.Should().Be(2);
            }
        }
 public PersonalInfoRepository(IContactFacetsProvider contactFacetsProvider, LocationRepository locationRepository, DeviceRepository deviceRepository)
 {
     this.contactFacetsProvider = contactFacetsProvider;
     this.locationRepository    = locationRepository;
     this.deviceRepository      = deviceRepository;
 }
示例#6
0
        public void Get_SeveralVisits_ReturnsTotalVisitsCount(int visitCount, ITracker tracker, [Frozen] IContactFacetsProvider contactProfileProvider, VisitsRepository visitsRepository)
        {
            //Arrange
            this.InitTracker(tracker);
            contactProfileProvider.Contact.Returns(x => tracker.Contact);
            tracker.Contact.System.VisitCount.Returns(visitCount);

            using (new TrackerSwitcher(tracker))
            {
                //Act
                var visits = visitsRepository.Get();
                //Assert
                visits.TotalVisits.Should().Be(visitCount);
            }
        }
示例#7
0
 public VisitsRepository(IContactFacetsProvider contactFacetsProvider, EngagementPlanStateRepository engagementPlanStateRepository, PageViewRepository pageViewRepository)
 {
     this.contactFacetsProvider         = contactFacetsProvider;
     this.engagementPlanStateRepository = engagementPlanStateRepository;
     this.pageViewRepository            = pageViewRepository;
 }
 public ContactFacetService(IContactFacetsProvider contactFacetsProvider, IExportFileService exportFileService)
 {
     this.contactFacetsProvider = contactFacetsProvider;
     this.exportFileService     = exportFileService;
     this.contactManager        = Factory.CreateObject("tracking/contactManager", true) as ContactManager;
 }
示例#9
0
 public ContactFacetService(IContactFacetsProvider contactFacetsProvider)
 {
     this.contactFacetsProvider = contactFacetsProvider;
     this.contactManager        = Factory.CreateObject("tracking/contactManager", true) as ContactManager;
 }
 public MatchesBusinessIndustry()
 {
     _contactFacetsProvider = new ContactFacetsProvider();
 }
示例#11
0
 public UpdateContactFacetsService(IContactFacetsProvider contactFacetsProvider, IContactFacetService contactFacetService)
 {
     _contactFacetsProvider = contactFacetsProvider;
     _contactFacetService   = contactFacetService;
 }