Exemplo n.º 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");
            }
        }
Exemplo n.º 2
0
 public ExperienceData(VisitsRepository visitsRepository, PersonalInfoRepository personalInfoRepository, OnsiteBehaviorRepository onsiteBehaviorRepository, ReferralRepository referralRepository, ITrackerService trackerService)
 {
     this.Visits         = visitsRepository.Get();
     this.PersonalInfo   = personalInfoRepository.Get();
     this.OnsiteBehavior = onsiteBehaviorRepository.Get();
     this.Referral       = referralRepository.Get();
     this.IsActive       = trackerService.IsActive;
 }
Exemplo n.º 3
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);
            }
        }
Exemplo n.º 4
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);
            }
        }
Exemplo n.º 5
0
        public void Get_PageViews_ReturnOnly10Pages(ITracker tracker, [Frozen] IContactProfileProvider 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);
            }
        }
Exemplo n.º 6
0
        public void Get_PageViews_DoNotReturnCancelledPages(ITracker tracker, [Frozen] IContactProfileProvider 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);
            }
        }