Esempio n. 1
0
        public void Resolve_StylesheetUnderTheme_IncludesStylesheet()
        {
            // arrange
            var templateManager    = TemplateFactory.CreateTemplateManager(StylesheetItem.TemplateId);
            var stylesheetItemMock = ItemFactory.CreateItem(templateId: StylesheetItem.TemplateId);

            ItemFactory.SetIndexerField(stylesheetItemMock, StylesheetItem.Fields.Url, "/url");

            var itemMock = ItemFactory.CreateItem();
            var children = new ChildList(itemMock.Object, new[] { stylesheetItemMock.Object });

            itemMock.Setup(x => x.GetChildren()).Returns(children);

            var sut = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(itemMock.Object);

            // assert
            Assert.That(result.Scripts, Is.Empty);
            Assert.That(result.Stylesheets.Count(), Is.EqualTo(1));

            var stylesheet = result.Stylesheets.First();

            Assert.That(stylesheet.Url, Is.EqualTo("/url"));
        }
        public void GetCategories_MixedTemplates()
        {
            var settings        = MockSettings(ID.NewID, ID.NewID, ID.NewID);
            var templateManager = TemplateFactory.CreateTemplateManager(settings.CategoryTemplateIds.Concat(settings.BlogTemplateIds).ToArray());

            var manager = new CategoryManager(settings, templateManager);

            using (var db = new Db
            {
                new DbItem("blog", ID.NewID, settings.BlogTemplateIds.First())
                {
                    new DbItem("Categories", ID.NewID, ID.NewID)
                    {
                        new DbItem("alpha", ID.NewID, settings.CategoryTemplateIds.ElementAt(0)),
                        new DbItem("beta", ID.NewID, settings.CategoryTemplateIds.ElementAt(1)),
                        new DbItem("gamma", ID.NewID, settings.CategoryTemplateIds.ElementAt(2))
                    },
                    new DbItem("Entries", ID.NewID, ID.NewID)
                    {
                        new DbItem("entry1", ID.NewID, settings.EntryTemplateIds.First())
                    }
                }
            })
            {
                var entryItem     = db.GetItem("/sitecore/content/blog/entries/entry1");
                var categories    = manager.GetCategories(entryItem);
                var categoryNames = from c in categories select c.Name;

                Assert.That(categoryNames, Is.EquivalentTo(new[] { "alpha", "beta", "gamma" }));
            }
        }
Esempio n. 3
0
        public void Resolve_DerivedScriptUnderTheme_IncludesScript()
        {
            // arrange
            var derivedTemplateId     = ID.NewID;
            var templates             = new TemplateCollection();
            var scriptTemplate        = TemplateFactory.CreateTemplate(ScriptItem.TemplateId, null, templates);
            var derivedScriptTemplate = TemplateFactory.CreateTemplate(derivedTemplateId, ScriptItem.TemplateId, templates);

            var templateManager = TemplateFactory.CreateTemplateManager(new[] { scriptTemplate, derivedScriptTemplate });
            var scriptItemMock  = ItemFactory.CreateItem(templateId: derivedTemplateId);

            ItemFactory.SetIndexerField(scriptItemMock, FileItem.Fields.Url, "/url");
            ItemFactory.SetIndexerField(scriptItemMock, ScriptItem.ScriptItemFields.FallbackUrl, "/fallbackurl");
            ItemFactory.SetIndexerField(scriptItemMock, ScriptItem.ScriptItemFields.VerificationObject, "object");

            var itemMock = ItemFactory.CreateItem();
            var children = new ChildList(itemMock.Object, new[] { scriptItemMock.Object });

            itemMock.Setup(x => x.GetChildren()).Returns(children);

            var sut = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(itemMock.Object);

            // assert
            Assert.That(result.Stylesheets, Is.Empty);
            Assert.That(result.Scripts.Count(), Is.EqualTo(1));

            var script = result.Scripts.First();

            Assert.That(script.Url, Is.EqualTo("/url"));
            Assert.That(script.FallbackUrl, Is.EqualTo("/fallbackurl"));
            Assert.That(script.VerificationObject, Is.EqualTo("object"));
        }
Esempio n. 4
0
        private BaseTemplateManager CreateTemplateManager(ID feedTemplateId)
        {
            var templates       = new TemplateCollection();
            var template        = TemplateFactory.CreateTemplate(feedTemplateId, ID.NewID, templates);
            var templateManager = TemplateFactory.CreateTemplateManager(new[] { template });

            return(templateManager);
        }
Esempio n. 5
0
        public void TemplateIsOrBasedOn_ItemIsNull_ReturnsFalse()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.TemplateIsOrBasedOn(null, templateManager, new[] { templateId });

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 6
0
        public void TemplateIsOrBasedOn_ItemIsNull_ReturnsFalse()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = templateManager.TemplateIsOrBasedOn(null, new[] { templateId });

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 7
0
        public void FindAncestorByAnyTemplate_NullItem_ReturnsNull()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.FindAncestorByAnyTemplate(null, new[] { templateId }, templateManager);

            // assert
            Assert.That(result, Is.Null);
        }
        public void Add(string contextItemPath, string name, bool expectCategory)
        {
            var settings        = MockSettings(ID.NewID, ID.NewID);
            var templateManager = TemplateFactory.CreateTemplateManager(settings.CategoryTemplateIds.Concat(settings.BlogTemplateIds).ToArray());

            var manager = new CategoryManager(settings, templateManager);

            using (var db = new Db
            {
                new DbTemplate("category1", settings.CategoryTemplateIds.ElementAt(0))
                {
                    new DbField("Title")
                },
                new DbTemplate("category2", settings.CategoryTemplateIds.ElementAt(1))
                {
                    new DbField("Title")
                },
                new DbItem("blog", ID.NewID, settings.BlogTemplateIds.First())
                {
                    new DbItem("Categories", ID.NewID, ID.NewID)
                    {
                        new DbItem("alpha", ID.NewID, settings.CategoryTemplateIds.ElementAt(0)),
                        new DbItem("beta", ID.NewID, settings.CategoryTemplateIds.ElementAt(1)),
                        new DbItem("gamma", ID.NewID, settings.CategoryTemplateIds.ElementAt(0))
                    },
                    new DbItem("Entries", ID.NewID, ID.NewID)
                    {
                        new DbItem("entry1", ID.NewID, settings.EntryTemplateIds.First())
                    }
                }
            })
            {
                var entryItem = contextItemPath != null?db.GetItem(contextItemPath) : null;

                CategoryItem categoryItem = null;

                using (new SecurityDisabler())
                {
                    categoryItem = manager.Add(name, entryItem);
                }

                if (expectCategory)
                {
                    Assert.That(categoryItem, Is.Not.Null);
                    Assert.That(categoryItem.Name, Is.EqualTo(name));
                }
                else
                {
                    Assert.That(categoryItem, Is.Null);
                }
            }
        }
Esempio n. 9
0
        public void TemplateIsOrBasedOn_TemplateMatches_ReturnsTrue()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);
            var itemMock        = ItemFactory.CreateItem(templateId: templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.TemplateIsOrBasedOn(itemMock.Object, templateManager, new[] { templateId });

            // assert
            Assert.That(result, Is.True);
        }
Esempio n. 10
0
        public void Resolve_ThemeIsNull_ReturnsEmptyThemeFiles()
        {
            // arrange
            var templateManager = TemplateFactory.CreateTemplateManager(StylesheetItem.TemplateId);
            var sut             = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(null);

            // assert
            Assert.That(result.Stylesheets, Is.Empty);
            Assert.That(result.Scripts, Is.Empty);
        }
Esempio n. 11
0
        public void FindAncestorByAnyTemplate_ItemBasedOnTemplate_ReturnsItem()
        {
            // arrange
            var templateId      = ID.NewID;
            var item            = ItemFactory.CreateItem(templateId: templateId).Object;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.FindAncestorByAnyTemplate(item, new[] { templateId }, templateManager);

            // assert
            Assert.That(result.ID, Is.EqualTo(item.ID));
        }
Esempio n. 12
0
        public void TemplateIsOrBasedOnSingle_TemplateMatches_ReturnsTrue()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);
            var itemMock        = ItemFactory.CreateItem(templateId: templateId);

            // act
            var result = templateManager.TemplateIsOrBasedOn(itemMock.Object, templateId);

            // assert
            Assert.That(result, Is.True);
        }
Esempio n. 13
0
        public void TemplateIsOrBasedOn_InvalidTemplate_ReturnsFalse()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);
            var itemMock        = ItemFactory.CreateItem(templateId);

            // act
            var result = templateManager.TemplateIsOrBasedOn(itemMock.Object, new[] { ID.NewID });

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 14
0
        public void TemplateIsOrBasedOn_TemplatesIsNull_ReturnsFalse()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);
            var itemMock        = ItemFactory.CreateItem(templateId);

            // act
            var result = templateManager.TemplateIsOrBasedOn(itemMock.Object, (IEnumerable <ID>)null);

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 15
0
        public void FindAncestorByAnyTemplate_NoTemplates_ReturnsNull()
        {
            // arrange
            var templateId      = ID.NewID;
            var item            = ItemFactory.CreateItem(templateId: templateId).Object;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.FindAncestorByAnyTemplate(item, Enumerable.Empty <ID>(), templateManager);

            // assert
            Assert.That(result, Is.Null);
        }
Esempio n. 16
0
        public void TemplateIsOrBasedOn_TemplatesIsEmpty_ReturnsFalse()
        {
            // arrange
            var templateId      = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId);
            var itemMock        = ItemFactory.CreateItem(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.TemplateIsOrBasedOn(itemMock.Object, templateManager, Enumerable.Empty <ID>());

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 17
0
        public void TemplateIsOrBasedOnSingle_TemplateDoesNotMatch_ReturnsFalse()
        {
            // arrange
            var templateId1     = ID.NewID;
            var templateId2     = ID.NewID;
            var templateManager = TemplateFactory.CreateTemplateManager(templateId1, templateId2);
            var itemMock        = ItemFactory.CreateItem(templateId2);

            // act
            var result = templateManager.TemplateIsOrBasedOn(itemMock.Object, templateId1);

            // assert
            Assert.That(result, Is.False);
        }
Esempio n. 18
0
        public void Resolve_ThemeHasNoChildren_ReturnsEmptyThemeFiles()
        {
            // arrange
            var templateManager = TemplateFactory.CreateTemplateManager(StylesheetItem.TemplateId);
            var item            = ItemFactory.CreateItem().Object;

            var sut = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(item);

            // assert
            Assert.That(result.Stylesheets, Is.Empty);
            Assert.That(result.Scripts, Is.Empty);
        }
Esempio n. 19
0
        public void Resolve_StylesheetsAndScriptsUnderTheme_IncludesReferences()
        {
            // arrange
            var templateManager = TemplateFactory.CreateTemplateManager(ScriptItem.TemplateId, StylesheetItem.TemplateId);

            var stylesheetItem1Mock = ItemFactory.CreateItem(templateId: StylesheetItem.TemplateId);

            ItemFactory.SetIndexerField(stylesheetItem1Mock, StylesheetItem.Fields.Url, "/url");

            var stylesheetItem2Mock = ItemFactory.CreateItem(templateId: StylesheetItem.TemplateId);

            ItemFactory.SetIndexerField(stylesheetItem2Mock, StylesheetItem.Fields.Url, "/url2");

            var scriptItemMock = ItemFactory.CreateItem(templateId: ScriptItem.TemplateId);

            ItemFactory.SetIndexerField(scriptItemMock, FileItem.Fields.Url, "/url");
            ItemFactory.SetIndexerField(scriptItemMock, ScriptItem.ScriptItemFields.FallbackUrl, "/fallbackurl");
            ItemFactory.SetIndexerField(scriptItemMock, ScriptItem.ScriptItemFields.VerificationObject, "object");

            var itemMock = ItemFactory.CreateItem();
            var children = new ChildList(itemMock.Object, new[] { scriptItemMock.Object, stylesheetItem1Mock.Object, stylesheetItem2Mock.Object });

            itemMock.Setup(x => x.GetChildren()).Returns(children);

            var sut = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(itemMock.Object);

            // assert
            Assert.That(result.Stylesheets.Count(), Is.EqualTo(2));
            Assert.That(result.Scripts.Count(), Is.EqualTo(1));

            var stylesheet1 = result.Stylesheets.First();

            Assert.That(stylesheet1.Url, Is.EqualTo("/url"));

            var stylesheet2 = result.Stylesheets.ElementAt(1);

            Assert.That(stylesheet2.Url, Is.EqualTo("/url2"));

            var script = result.Scripts.First();

            Assert.That(script.Url, Is.EqualTo("/url"));
            Assert.That(script.FallbackUrl, Is.EqualTo("/fallbackurl"));
            Assert.That(script.VerificationObject, Is.EqualTo("object"));
        }
Esempio n. 20
0
        public void FindAncestorByAnyTemplate_NoAncestorsBasedOnTemplate_ReturnsNull()
        {
            // arrange
            var templateId = ID.NewID;
            var itemMock   = ItemFactory.CreateItem();
            var parentItem = ItemFactory.CreateItem().Object;

            ItemFactory.SetParent(itemMock, parentItem);

            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.FindAncestorByAnyTemplate(itemMock.Object, new[] { templateId }, templateManager);

            // assert
            Assert.That(result, Is.Null);
        }
        public void GetCategories_MixedDerivedTemplates()
        {
            var baseBaseTemplateId = ID.NewID;
            var baseTemplateId     = ID.NewID;
            var categoryTemplateId = ID.NewID;

            var settings        = MockSettings(baseBaseTemplateId, baseTemplateId, categoryTemplateId);
            var templateManager = TemplateFactory.CreateTemplateManager(new[] { baseBaseTemplateId, baseTemplateId, categoryTemplateId, settings.BlogTemplateIds.First() });

            var manager = new CategoryManager(settings, templateManager);

            using (var db = new Db
            {
                new DbTemplate(baseBaseTemplateId),
                new DbTemplate(baseTemplateId)
                {
                    BaseIDs = new[] { baseBaseTemplateId }
                },
                new DbTemplate(categoryTemplateId)
                {
                    BaseIDs = new[] { baseTemplateId }
                },
                new DbItem("blog", ID.NewID, settings.BlogTemplateIds.First())
                {
                    new DbItem("Categories", ID.NewID, ID.NewID)
                    {
                        new DbItem("alpha", ID.NewID, categoryTemplateId),
                        new DbItem("beta", ID.NewID, baseTemplateId),
                        new DbItem("gamma", ID.NewID, baseBaseTemplateId)
                    },
                    new DbItem("Entries", ID.NewID, ID.NewID)
                    {
                        new DbItem("entry1", ID.NewID, settings.EntryTemplateIds.First())
                    }
                }
            })
            {
                var entryItem     = db.GetItem("/sitecore/content/blog/entries/entry1");
                var categories    = manager.GetCategories(entryItem);
                var categoryNames = from c in categories select c.Name;

                Assert.That(categoryNames, Is.EquivalentTo(new[] { "alpha", "beta", "gamma" }));
            }
        }
Esempio n. 22
0
        public void FindAncestorByAnyTemplate_AncestorBasedOnTemplate_ReturnsAncestor()
        {
            // arrange
            var templateId          = ID.NewID;
            var itemMock            = ItemFactory.CreateItem();
            var parentItemMock      = ItemFactory.CreateItem();
            var grantParentItemMock = ItemFactory.CreateItem(templateId: templateId).Object;

            ItemFactory.SetParent(itemMock, parentItemMock.Object);
            ItemFactory.SetParent(parentItemMock, grantParentItemMock);

            var templateManager = TemplateFactory.CreateTemplateManager(templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.FindAncestorByAnyTemplate(itemMock.Object, new[] { templateId }, templateManager);

            // assert
            Assert.That(result.ID, Is.EqualTo(grantParentItemMock.ID));
        }
Esempio n. 23
0
        public void TemplateIsOrBasedOn_DerivedTemplateMatches_ReturnsTrue()
        {
            // arrange
            var baseTemplateId = ID.NewID;
            var templateId     = ID.NewID;

            var templates    = new TemplateCollection();
            var baseTemplate = TemplateFactory.CreateTemplate(baseTemplateId, null, templates);
            var template     = TemplateFactory.CreateTemplate(templateId, baseTemplateId, templates);

            var templateManager = TemplateFactory.CreateTemplateManager(new[] { baseTemplate, template });
            var itemMock        = ItemFactory.CreateItem(templateId: templateId);

            // act
            var result = Sitecore.Modules.WeBlog.Extensions.ItemExtensions.TemplateIsOrBasedOn(itemMock.Object, templateManager, new[] { baseTemplateId });

            // assert
            Assert.That(result, Is.True);
        }
Esempio n. 24
0
        public void Resolve_UnknownChildrenUnderTheme_ReturnsEmptyThemeFiles()
        {
            // arrange
            var templateManager    = TemplateFactory.CreateTemplateManager(StylesheetItem.TemplateId);
            var stylesheetItemMock = ItemFactory.CreateItem();

            var itemMock = ItemFactory.CreateItem();
            var children = new ChildList(itemMock.Object, new[] { stylesheetItemMock.Object });

            itemMock.Setup(x => x.GetChildren()).Returns(children);

            var sut = new ThemeFileResolver(templateManager);

            // act
            var result = sut.Resolve(itemMock.Object);

            // assert
            Assert.That(result.Stylesheets, Is.Empty);
            Assert.That(result.Scripts, Is.Empty);
        }
        public void Resolve_ItemBasedOnDerivedBlogTemplate_ReturnsSettingsFromBlog()
        {
            // arrange
            var categoryTemplateId = ID.NewID;
            var entryTemplateId    = ID.NewID;
            var commentTemplateId  = ID.NewID;
            var blogTemplateId     = ID.NewID;
            var baseBlogTemplateId = ID.NewID;

            var templates       = new TemplateCollection();
            var baseTemplate    = TemplateFactory.CreateTemplate(baseBlogTemplateId, null, templates);
            var blogTemplate    = TemplateFactory.CreateTemplate(blogTemplateId, baseBlogTemplateId, templates);
            var templateManager = TemplateFactory.CreateTemplateManager(new[] { blogTemplate });

            var item = ItemFactory.CreateItem(templateId: blogTemplateId);

            var categoryField = FieldFactory.CreateField(item.Object, ID.NewID, "Defined Category Template", categoryTemplateId.ToString());
            var entryField    = FieldFactory.CreateField(item.Object, ID.NewID, "Defined Entry Template", entryTemplateId.ToString());
            var commentField  = FieldFactory.CreateField(item.Object, ID.NewID, "Defined Comment Template", commentTemplateId.ToString());

            ItemFactory.AddFields(item, new[] { categoryField, entryField, commentField });

            var weBlogsettings = Mock.Of <IWeBlogSettings>(x =>
                                                           x.CategoryTemplateIds == new[] { ID.NewID } &&
                                                           x.EntryTemplateIds == new[] { ID.NewID } &&
                                                           x.CommentTemplateIds == new[] { ID.NewID } &&
                                                           x.BlogTemplateIds == new[] { baseBlogTemplateId }
                                                           );

            var sut = new BlogSettingsResolver(templateManager, weBlogsettings);

            // act
            var result = sut.Resolve(item.Object);

            // assert
            Assert.That(result.CategoryTemplateID, Is.EqualTo(categoryTemplateId));
            Assert.That(result.EntryTemplateID, Is.EqualTo(entryTemplateId));
            Assert.That(result.CommentTemplateID, Is.EqualTo(commentTemplateId));
        }
        public void GetCategory(string startItemPath, string categoryName, bool shouldFindCategory)
        {
            var categoryTemplateId = ID.NewID;
            var settings           = MockSettings(categoryTemplateId);
            var templateManager    = TemplateFactory.CreateTemplateManager(categoryTemplateId, settings.BlogTemplateIds.First());

            var manager = new CategoryManager(settings, templateManager);

            using (var db = new Db
            {
                new DbItem("blog", ID.NewID, settings.BlogTemplateIds.First())
                {
                    new DbItem("Categories", ID.NewID, ID.NewID)
                    {
                        new DbItem("alpha", ID.NewID, settings.CategoryTemplateIds.First()),
                        new DbItem("beta", ID.NewID, settings.CategoryTemplateIds.First()),
                        new DbItem("gamma", ID.NewID, settings.CategoryTemplateIds.First())
                    },
                    new DbItem("Entries", ID.NewID, ID.NewID)
                    {
                        new DbItem("entry1", ID.NewID, settings.EntryTemplateIds.First())
                    }
                }
            })
            {
                var startItem    = string.IsNullOrEmpty(startItemPath) ? null : db.GetItem(startItemPath);
                var categoryItem = manager.GetCategory(startItem, categoryName);

                if (shouldFindCategory)
                {
                    Assert.That(categoryItem, Is.Not.Null);
                    Assert.That(categoryItem.Name, Is.EqualTo(categoryName));
                }
                else
                {
                    Assert.That(categoryItem, Is.Null);
                }
            }
        }
        public void GetCategories(string startItemPath, bool expectCategories)
        {
            var categoryTemplateId = ID.NewID;
            var settings           = MockSettings(categoryTemplateId);
            var templateManager    = TemplateFactory.CreateTemplateManager(categoryTemplateId, settings.BlogTemplateIds.First());

            var manager = new CategoryManager(settings, templateManager);

            using (var db = new Db
            {
                new DbItem("blog", ID.NewID, settings.BlogTemplateIds.First())
                {
                    new DbItem("Categories", ID.NewID, ID.NewID)
                    {
                        new DbItem("alpha", ID.NewID, settings.CategoryTemplateIds.First()),
                        new DbItem("beta", ID.NewID, settings.CategoryTemplateIds.First()),
                        new DbItem("gamma", ID.NewID, settings.CategoryTemplateIds.First())
                    },
                    new DbItem("a folder", ID.NewID, ID.NewID)
                    {
                        new DbItem("entry1", ID.NewID, settings.EntryTemplateIds.First())
                    }
                }
            })
            {
                var startItem     = string.IsNullOrEmpty(startItemPath) ? null : db.GetItem(startItemPath);
                var categories    = manager.GetCategories(startItem);
                var categoryNames = from c in categories select c.Name;

                if (expectCategories)
                {
                    Assert.That(categoryNames, Is.EquivalentTo(new [] { "alpha", "beta", "gamma" }));
                }
                else
                {
                    Assert.That(categoryNames, Is.Empty);
                }
            }
        }
Esempio n. 28
0
        public void GetCurrentBlog_CustomTemplates(string startPath, string expectedPath)
        {
            var blogTemplateId        = ID.NewID;
            var customBlogTemplateId  = ID.NewID;
            var entryTemplateId       = ID.NewID;
            var customEntryTemplateId = ID.NewID;

            var settings = Mock.Of <IWeBlogSettings>(x =>
                                                     x.BlogTemplateIds == new[] { ID.NewID, ID.NewID, blogTemplateId, ID.NewID } &&
                                                     x.EntryTemplateIds == new[] { ID.NewID, entryTemplateId, ID.NewID }
                                                     );

            var templates           = new TemplateCollection();
            var blogTemplate        = TemplateFactory.CreateTemplate(blogTemplateId, null, templates);
            var customBlogTemplate  = TemplateFactory.CreateTemplate(customBlogTemplateId, blogTemplateId, templates);
            var entryTemplate       = TemplateFactory.CreateTemplate(entryTemplateId, null, templates);
            var customEntryTemplate = TemplateFactory.CreateTemplate(customEntryTemplateId, entryTemplateId, templates);

            var templateManager = TemplateFactory.CreateTemplateManager(new[] { blogTemplate, customBlogTemplate, entryTemplate, customEntryTemplate });

            using (var db = new Db
            {
                new DbItem("blog", ID.NewID, customBlogTemplateId)
                {
                    new DbItem("entries")
                    {
                        new DbItem("entry", ID.NewID, customEntryTemplateId)
                    }
                }
            })
            {
                var startItem  = db.GetItem(startPath);
                var manager    = CreateBlogManager(settings: settings, templateManager: templateManager);
                var resultItem = manager.GetCurrentBlog(startItem);

                Assert.That(resultItem.ID, Is.EqualTo(resultItem.ID));
            };
        }
Esempio n. 29
0
        public void TemplateIsOrBasedOn_DerivedTemplateChainMatches_ReturnsTrue()
        {
            // arrange
            var baseTemplateId1 = ID.NewID;
            var baseTemplateId2 = ID.NewID;
            var baseTemplateId3 = ID.NewID;
            var templateId      = ID.NewID;

            var templates     = new TemplateCollection();
            var baseTemplate1 = TemplateFactory.CreateTemplate(baseTemplateId1, null, templates);
            var baseTemplate2 = TemplateFactory.CreateTemplate(baseTemplateId2, baseTemplateId1, templates);
            var baseTemplate3 = TemplateFactory.CreateTemplate(baseTemplateId3, baseTemplateId2, templates);
            var template      = TemplateFactory.CreateTemplate(templateId, baseTemplateId3, templates);

            var templateManager = TemplateFactory.CreateTemplateManager(new[] { baseTemplate1, baseTemplate2, baseTemplate3, template });
            var itemMock        = ItemFactory.CreateItem(templateId: templateId);

            // act
            var result = templateManager.TemplateIsOrBasedOn(itemMock.Object, new[] { baseTemplateId1 });

            // assert
            Assert.That(result, Is.True);
        }
Esempio n. 30
0
        public void GetCurrentBlog(string startPath, string expectedPath)
        {
            var blogTemplateId  = ID.NewID;
            var entryTemplateId = ID.NewID;

            var settings = Mock.Of <IWeBlogSettings>(x =>
                                                     x.BlogTemplateIds == new[] { blogTemplateId } &&
                                                     x.EntryTemplateIds == new[] { entryTemplateId }
                                                     );

            var templateManager = TemplateFactory.CreateTemplateManager(blogTemplateId, entryTemplateId);

            using (var db = new Db
            {
                new DbItem("blog", ID.NewID, blogTemplateId)
                {
                    new DbItem("entries")
                    {
                        new DbItem("entry", ID.NewID, entryTemplateId)
                    }
                }
            })
            {
                var startItem  = db.GetItem(startPath);
                var manager    = CreateBlogManager(settings: settings, templateManager: templateManager);
                var resultItem = manager.GetCurrentBlog(startItem);

                if (expectedPath == null)
                {
                    Assert.That(resultItem, Is.Null);
                }
                else
                {
                    Assert.That(resultItem.ID, Is.EqualTo(resultItem.ID));
                }
            };
        }