public ExperienceData(IContactProfileProvider contactProfileProvider, IProfileProvider profileProvider) { this.contactProfileProvider = contactProfileProvider; this.profileProvider = profileProvider; Visits = new VisitsRepository(contactProfileProvider).Get(); PersonalInfo = new PersonalInfoRepository(contactProfileProvider).Get(); OnsiteBehavior = new OnsiteBehaviorRepository(profileProvider).Get(); Referral = new ReferralRepository().Get(); }
public void Get_Value_ReturnsEngagementValue(int value, ITracker tracker, [Frozen]IContactProfileProvider 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); } }
public void Get_SeveralVisits_ReturnsTotalVisitsCount(int visitCount, ITracker tracker, [Frozen]IContactProfileProvider 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); } }
public void Get_PageViews_ReturnReversedPages(ITracker tracker, [Frozen]IContactProfileProvider contactProfileProvider, 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); ; using (new TrackerSwitcher(tracker)) { //Act var visits = visitsRepository.Get(); //Assert visits.PageViews.Select(x=>x.Path).Should().BeEquivalentTo(new []{"2", "1", "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); } }
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); } }