Ejemplo n.º 1
0
        public void UpdatesReferencesOnDuplicatedItem()
        {
            var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(
                new Sitecore.Collections.StringDictionary
            {
                { "name", "website" },
                { "database", "master" },
                { "content", "master" },
                { "rootPath", "/sitecore/content" }
            });

            using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
                using (GetFakeDb())
                {
                    var db    = Sitecore.Context.Database;
                    var page1 = db.GetItem("/sitecore/content/home/page1");

                    var processor = new DuplicateItem(new TreeReferenceUpdater());
                    processor.Execute(new ClientPipelineArgs()
                    {
                        Parameters = new NameValueCollection()
                        {
                            { "database", "master" },
                            { "id", page1.ID.ToString() },
                            { "name", "page2" }
                        },
                    });

                    var page2 = db.GetItem("/sitecore/content/home/page2");
                    db.GetItem(page2.Fields["Link"].Value).Parent.ID.Should().Be(page2.ID);
                }
        }
Ejemplo n.º 2
0
        public void HowToSwitchContextSite()
        {
            // Create a fake Site Context and configure the required parameters.
            // Please note that there is no registration in the App.config file required.
            var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(
                new Sitecore.Collections.StringDictionary
            {
                { "name", "website" }, { "database", "web" }
            });

            // switch the context site
            using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
            {
                Xunit.Assert.Equal("website", Sitecore.Context.Site.Name);
                Xunit.Assert.Equal("web", Sitecore.Context.Site.Database.Name);
            }
        }
Ejemplo n.º 3
0
    public void GetSiteDefinition_ItemOutsideSiteHierarcy_ShouldReturnContextSiteDefinition(SiteContext siteContext, DbItem item, Db db, string siteName)
    {
      var siteDefinitionId = ID.NewID;
      var home = new DbItem("home", ID.NewID);
      db.Add(new DbItem(siteName, siteDefinitionId, Templates.Site.ID) { home });
      var definitionItem = db.GetItem(siteDefinitionId);

      db.Add(item);
      var contextItem = db.GetItem(item.ID);

      var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(new Sitecore.Collections.StringDictionary { { "name", siteName }, { "database", db.Database.Name }, { "rootPath", "/sitecore/content/" + siteName }, { "startItem", "/home" } });
      using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
      {
        var siteDefinition = siteContext.GetSiteDefinition(contextItem);
        siteDefinition.Item.ID.ShouldBeEquivalentTo(definitionItem.ID);
      }
    }
Ejemplo n.º 4
0
        public void GetSiteDefinition_ItemOutsideSiteHierarcy_ShouldReturnContextSiteDefinition(SiteContext siteContext, DbItem item, Db db, string siteName)
        {
            var siteDefinitionId = ID.NewID;
            var home             = new DbItem("home", ID.NewID);

            db.Add(new DbItem(siteName, siteDefinitionId, Templates.Site.ID)
            {
                home
            });
            var definitionItem = db.GetItem(siteDefinitionId);

            db.Add(item);
            var contextItem = db.GetItem(item.ID);

            var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(new Sitecore.Collections.StringDictionary {
                { "name", siteName }, { "database", db.Database.Name }, { "rootPath", "/sitecore/content/" + siteName }, { "startItem", "/home" }
            });

            using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
            {
                var siteDefinition = siteContext.GetSiteDefinition(contextItem);
                siteDefinition.Item.ID.ShouldBeEquivalentTo(definitionItem.ID);
            }
        }
Ejemplo n.º 5
0
    public void HowToSwitchContextSite()
    {
      // Create a fake Site Context and configure the required parameters.
      // Please note that there is no registration in the App.config file required.
      var fakeSite = new Sitecore.FakeDb.Sites.FakeSiteContext(
        new Sitecore.Collections.StringDictionary
          {
            { "name", "website" }, { "database", "web" }
          });

      // switch the context site
      using (new Sitecore.Sites.SiteContextSwitcher(fakeSite))
      {
        Xunit.Assert.Equal("website", Sitecore.Context.Site.Name);
        Xunit.Assert.Equal("web", Sitecore.Context.Site.Database.Name);
      }
    }