public void LoadProfiles_SettingsIsEmpty_ShouldReturnExistentProfilesEnumerable([Content] Item item, CurrentInteraction currentInteraction, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            var profileSettingItem = item.Add("profileSetting", new TemplateID(Templates.ProfilingSettings.ID));
            var profileItem        = item.Add("profile", new TemplateID(ProfileItem.TemplateID));


            var provider = new ProfileProvider();

            var fakeSiteContext = new FakeSiteContext(new StringDictionary
            {
                {
                    "rootPath", "/sitecore"
                },
                {
                    "startItem", profileSettingItem.Paths.FullPath.Remove(0, "/sitecore".Length)
                }
            });

            fakeSiteContext.Database = item.Database;

            using (new SiteContextSwitcher(fakeSiteContext))
            {
                provider.GetSiteProfiles().Count().Should().Be(0);
            }
        }
        public void HasMatchingPattern_HistoricProfileProfileNotExitsts_ReturnFalse([Content] Item profileItem, Contact contact, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            //Arrange
            tracker.Contact.Returns(contact);
            contact.BehaviorProfiles[Arg.Is(profileItem.ID)].Returns(x => null);

            var fakeSiteContext = new FakeSiteContext("fake")
            {
                Database = Database.GetDatabase("master")
            };

            //Act
            using (new TrackerSwitcher(tracker))
            {
                using (new SiteContextSwitcher(fakeSiteContext))
                {
                    var provider = new ProfileProvider();
                    var result   = provider.HasMatchingPattern(new ProfileItem(profileItem), ProfilingTypes.Historic);
                    //Assert
                    result.Should().BeFalse();
                }
            }
        }
        public void LoadProfiles_SettingWithProfiles_ShouldReturnExistentProfilesEnumerable(Db db, CurrentInteraction currentInteraction, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            var profileItem = new DbItem("profile", ID.NewID, new TemplateID(ProfileItem.TemplateID));

            db.Add(profileItem);
            var profileSettingItem = new DbItem("profileSetting", ID.NewID, new TemplateID(Templates.ProfilingSettings.ID))
            {
                { Templates.ProfilingSettings.Fields.SiteProfiles, profileItem.ID.ToString() }
            };

            db.Add(profileSettingItem);

            var provider = new ProfileProvider();

            var fakeSiteContext = new FakeSiteContext(new StringDictionary
            {
                { "rootPath", "/sitecore" },
                { "startItem", profileSettingItem.FullPath.Remove(0, "/sitecore".Length) }
            })
            {
                Database = db.Database
            };


            using (new SiteContextSwitcher(fakeSiteContext))
            {
                var siteProfiles = provider.GetSiteProfiles();
                siteProfiles.Count().Should().Be(1);
            }
        }
        public void HasMatchingPattern_TrackerReturnsProfileWithoutID_ShouldReturnFalse([Content] Item profileItem, CurrentInteraction currentInteraction, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            tracker.Interaction.Returns(currentInteraction);
            currentInteraction.Profiles[null].ReturnsForAnyArgs(profile);
            profile.PatternId = null;

            var fakeSiteContext = new FakeSiteContext("fake")
            {
                Database = Database.GetDatabase("master")
            };


            using (new TrackerSwitcher(tracker))
            {
                using (new SiteContextSwitcher(fakeSiteContext))
                {
                    var provider = new ProfileProvider();
                    provider.HasMatchingPattern(new ProfileItem(profileItem), ProfilingTypes.Active).Should().BeFalse();
                }
            }
        }
Ejemplo n.º 5
0
 public ExperienceProfile(AnalyticsProfile profiles)
 {
   this.profile = profiles;
 }
Ejemplo n.º 6
0
        public void HasMatchingPattern_HistoricProfileAndItemExists_ShouldReturnTrue([Content] Item profileItem, Contact contact, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            //Arrange
            tracker.Contact.Returns(contact);
            var behaviorPattern = Substitute.For <IBehaviorProfileContext>();

            behaviorPattern.PatternId.Returns(profileItem.ID);
            contact.BehaviorProfiles[Arg.Is(profileItem.ID)].Returns(behaviorPattern);

            var pattern = profileItem.Add("fakePattern", new TemplateID(PatternCardItem.TemplateID));

            profile.PatternId = pattern.ID.Guid;
            var fakeSiteContext = new FakeSiteContext("fake")
            {
                Database = Database.GetDatabase("master")
            };


            using (new TrackerSwitcher(tracker))
            {
                using (new SiteContextSwitcher(fakeSiteContext))
                {
                    var provider = new ProfileProvider();
                    provider.HasMatchingPattern(new ProfileItem(profileItem), ProfilingTypes.Historic).Should().BeTrue();
                }
            }
        }
Ejemplo n.º 7
0
        public void HasMatchingPattern_ItemExists_ShouldReturnTrue([Content] Item profileItem, CurrentInteraction currentInteraction, ITracker tracker, Analytics.Tracking.Profile profile)
        {
            tracker.Interaction.Returns(currentInteraction);
            currentInteraction.Profiles[null].ReturnsForAnyArgs(profile);

            var pattern = profileItem.Add("fakePattern", new TemplateID(PatternCardItem.TemplateID));

            profile.PatternId = pattern.ID.Guid;
            var fakeSiteContext = new FakeSiteContext("fake")
            {
                Database = Database.GetDatabase("master")
            };


            using (new TrackerSwitcher(tracker))
            {
                using (new SiteContextSwitcher(fakeSiteContext))
                {
                    var provider = new ProfileProvider();
                    provider.HasMatchingPattern(new ProfileItem(profileItem), ProfilingTypes.Active).Should().BeTrue();
                }
            }
        }
Ejemplo n.º 8
0
 public ExperienceProfile(AnalyticsProfile profiles)
 {
     this.profile = profiles;
 }