GetAllBlogs() public method

Gets all the blogs.
public GetAllBlogs ( Database database = null ) : Sitecore.Modules.WeBlog.Data.Items.BlogHomeItem[]
database Database The database to get the blogs from. If null, use the context database
return Sitecore.Modules.WeBlog.Data.Items.BlogHomeItem[]
Esempio n. 1
0
        public void GetAllBlogs_ExcludeBlogOutsideContentRoot()
        {
            var blogTemplateId = ID.NewID;
            var blog1Id = ID.NewID;
            var blog2Id = ID.NewID;

            var settings = Mock.Of<IWeBlogSettings>(x =>
                x.ContentRootPath == "/sitecore/content/alpha" &&
                x.BlogTemplateIds == new[] { ID.NewID, blogTemplateId, ID.NewID }
            );

            var manager = new BlogManager(settings);

            using (var db = new Db
            {
                new DbItem("alpha")
                {
                    new DbItem("blog 1", blog1Id, blogTemplateId)
                },
                new DbItem("beta")
                {
                    new DbItem("blog 2", blog2Id, blogTemplateId)
                }
            })
            {
                var item = db.GetItem("/sitecore/content/alpha");
                var blogTemplate = item.Database.GetTemplate(blogTemplateId);

                var linkDb = Mock.Of<LinkDatabase>(x =>
                    x.GetReferrers(blogTemplate) == new[]
                    {
                        new ItemLink("master", blog1Id, ID.Null, "master", blogTemplateId, blogTemplateId.ToString()),
                        new ItemLink("master", blog2Id, ID.Null, "master", blogTemplateId, blogTemplateId.ToString())
                    });

                using (new LinkDatabaseSwitcher(linkDb))
                {
                    var blogs = manager.GetAllBlogs(item.Database);
                    var ids = from blog in blogs select blog.ID;

                    Assert.That(ids, Is.EquivalentTo(new[] { blog1Id }));
                }
            }
        }
Esempio n. 2
0
        public void GetAllBlogs_None()
        {
            var settings = Mock.Of<IWeBlogSettings>(x =>
                x.ContentRootPath == "/sitecore/content" &&
                x.BlogTemplateIds == new[] { ID.NewID }
            );

            var manager = new BlogManager(settings);

            using (var db = new Db())
            {
                var item = db.GetItem("/sitecore/content");
                var blogs = manager.GetAllBlogs(item.Database);

                Assert.That(blogs, Is.Empty);
            }
        }