Ejemplo n.º 1
0
        public void Should_Return_Empty_List_Successfully()
        {
            var serviceMock = MockHistoryService();
            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), null, null, serviceMock.Object))
            {
                var history = service.GetContentHistory(new GetContentHistoryRequest(Guid.NewGuid()));

                Assert.IsNotNull(history);
                Assert.AreEqual(history.Items.Count, 0);
            }
        }
Ejemplo n.º 2
0
        public void Should_Return_Sorted_List_Successfully()
        {
            var contents = CreateFakeContents();
            var serviceMock = MockHistoryService(contents);
            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), null, null, serviceMock.Object))
            {
                var history = service.GetContentHistory(new GetContentHistoryRequest(Guid.NewGuid(), order: c => c.Name, orderDescending: true));

                Assert.IsNotNull(history);
                Assert.AreEqual(history.Items.Count, 4);
                Assert.AreEqual(history.Items[1].Id, contents.First(c => c.Name == "Test_1").Id);
            }
        }
Ejemplo n.º 3
0
        public void Should_Return_Empty_Tags_List_Successfully()
        {
            Mock<IRepository> repositoryMock = new Mock<IRepository>();
            repositoryMock
                .Setup(f => f.AsQueryable<Tag>())
                .Returns(new Tag[] { }.AsQueryable());

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var tags = service.GetTags();

                Assert.IsNotNull(tags);
                Assert.IsEmpty(tags.Items);
                Assert.AreEqual(tags.TotalCount, 0);
            }
        }
        public void Should_Return_Empty_Categorys_List_Successfully()
        {
            Mock<IRepository> repositoryMock = new Mock<IRepository>();
            repositoryMock
                .Setup(f => f.AsQueryable<BetterCms.Module.Root.Models.Category>())
                .Returns(new BetterCms.Module.Root.Models.Category[] { }.AsQueryable());

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var categories = service.GetCategories();

                Assert.IsNotNull(categories);
                Assert.IsEmpty(categories.Items);
                Assert.AreEqual(categories.TotalCount, 0);
            }
        }
Ejemplo n.º 5
0
        private static void Add404ErrorPage(PagesApiContext pagesApi, Layout layout, HtmlContentWidget header, HtmlContentWidget footer)
        {
            var pageRequest = new CreatePageRequest()
            {
                LayoutId = layout.Id,
                PageUrl = Urls.Page404,
                Title = "Page Not Found",
                Description = "Page Not Found",
                Status = PageStatus.Published,
                MetaTitle = "Better CMS page not found meta title",
                MetaDescription = "Better CMS page not found meta description.",
                MetaKeywords = "Better CMS"
            };
            var page = pagesApi.CreatePage(pageRequest);

            AddPageContent(pagesApi, page, header, footer, "<p>Oops! The page you are looking for can not be found.</p>");
        }
Ejemplo n.º 6
0
        private static void Add500ErrorPage(PagesApiContext pagesApi, Layout layout, HtmlContentWidget header, HtmlContentWidget footer)
        {
            var pageRequest = new CreatePageRequest()
            {
                LayoutId = layout.Id,
                PageUrl = Urls.Page500,
                Title = "Internal server error",
                Description = "Internal server error",
                Status = PageStatus.Published,
                MetaTitle = "Better CMS internal server error meta title",
                MetaDescription = "Better CMS internal server error meta description.",
                MetaKeywords = "Better CMS"
            };
            var page = pagesApi.CreatePage(pageRequest);

            AddPageContent(pagesApi, page, header, footer, "<p>Oops! The Web server encountered an unexpected condition that prevented it from fulfilling your request. Please try again later or contact the administrator.</p>");
        }
Ejemplo n.º 7
0
        public void Should_Return_Filtered_Ordered_Tags_List_Successfully()
        {
            var fakeTags = CreateTags().ToList();
            var repositoryMock = MockRepository(fakeTags);

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var tags = service.GetTags(new GetTagsRequest(t => t.Name.Contains("Tag"), null, true));

                Assert.IsNotNull(tags);
                Assert.AreEqual(tags.Items.Count, 3);
                Assert.AreEqual(tags.TotalCount, 3);

                var fakeTag = fakeTags.First(t => t.Name == "Tag3");
                var tag = tags.Items[0];
                Assert.IsNotNull(tag);
                Assert.AreEqual(fakeTag.Id, tag.Id);
            }
        }
Ejemplo n.º 8
0
        public void Should_Return_Filtered_Ordered_Layouts_List_Successfully()
        {
            var fakeLayouts = CreateLayouts().ToList();
            var repositoryMock = MockRepository(fakeLayouts);

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var layouts = service.GetLayouts(new GetLayoutsRequest(t => t.Name.Contains("Layout"), null, true));

                Assert.IsNotNull(layouts);
                Assert.AreEqual(layouts.Items.Count, 3);
                Assert.AreEqual(layouts.TotalCount, 3);

                var fakeLayout = fakeLayouts.First(t => t.Name == "Layout3");
                var layout = layouts.Items[0];
                Assert.IsNotNull(layout);
                Assert.AreEqual(fakeLayout.Id, layout.Id);
            }
        }
Ejemplo n.º 9
0
        public void Should_Return_Sitemap_List_Successfully()
        {
            var sitemap = CreateFakeSitemap();
            var repositoryMock = MockRepository(sitemap);
            var serviceMock = MockSitemapService(sitemap);

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object, serviceMock.Object))
            {
                var tree = service.GetSitemapTree();
                Assert.IsNotNull(tree);
                Assert.AreEqual(sitemap.Count(), tree.Count);

                var node = service.GetNode(new Guid());
                Assert.IsNotNull(node);

                var nodes = service.GetNodes();
                Assert.IsNotNull(nodes);
                Assert.AreEqual(sitemap.Count(), nodes.Items.Count);
            }
        }
Ejemplo n.º 10
0
        public void Should_Return_History_List_Successfully()
        {
            var widgets = CreateFakeWidgets();
            var repositoryMock = MockWidgetsRepository(widgets);

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var htmlWidget = service.GetHtmlContentWidget(new Guid());
                Assert.IsNotNull(htmlWidget);

                var serverWidget = service.GetServerControlWidget(new Guid());
                Assert.IsNotNull(serverWidget);

                var allWidgets = service.GetWidgets();
                Assert.IsNotNull(allWidgets);
                Assert.AreEqual(widgets.Count(), allWidgets.Items.Count());

                var pageWidgets = service.GetPageWidgets(new GetPageWidgetsRequest(pageId));
                Assert.IsNotNull(pageWidgets);
                Assert.AreEqual(1, pageWidgets.Items.Count());
            }
        }
        public void Should_Return_Categorys_List_Successfully()
        {
            BetterCms.Module.Root.Models.Category category1 = TestDataProvider.CreateNewCategory();
            BetterCms.Module.Root.Models.Category category2 = TestDataProvider.CreateNewCategory();

            Mock<IRepository> repositoryMock = new Mock<IRepository>();
            repositoryMock
                .Setup(f => f.AsQueryable<BetterCms.Module.Root.Models.Category>())
                .Returns(new[] { category1, category2 }.AsQueryable());

            using (var api = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var categories = api.GetCategories();

                Assert.IsNotNull(categories);
                Assert.AreEqual(categories.Items.Count, 2);
                Assert.AreEqual(categories.TotalCount, 2);

                var category = categories.Items.FirstOrDefault(l => category1.Id == l.Id);
                Assert.IsNotNull(category);
                Assert.AreEqual(category1.Name, category.Name);
            }
        }
Ejemplo n.º 12
0
        public void Should_Return_Redirects_List_Successfully()
        {
            BetterCms.Module.Pages.Models.Redirect redirect1 = TestDataProvider.CreateNewRedirect();
            BetterCms.Module.Pages.Models.Redirect redirect2 = TestDataProvider.CreateNewRedirect();

            Mock<IRepository> repositoryMock = new Mock<IRepository>();
            repositoryMock
                .Setup(f => f.AsQueryable<BetterCms.Module.Pages.Models.Redirect>())
                .Returns(new[] { redirect1, redirect2 }.AsQueryable());

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var redirects = service.GetRedirects();

                Assert.IsNotNull(redirects);
                Assert.AreEqual(redirects.Items.Count, 2);
                Assert.AreEqual(redirects.TotalCount, 2);

                var redirect = redirects.Items.FirstOrDefault(l => redirect1.Id == l.Id);
                Assert.IsNotNull(redirect);
                Assert.AreEqual(redirect1.PageUrl, redirect.PageUrl);
                Assert.AreEqual(redirect1.RedirectUrl, redirect.RedirectUrl);
            }
        }
Ejemplo n.º 13
0
        public void Should_Return_Tags_List_Successfully()
        {
            var fakeTags = CreateTags().ToList();
            var repositoryMock = MockRepository(fakeTags);

            using (var service = new PagesApiContext(Container.BeginLifetimeScope(), repositoryMock.Object))
            {
                var tags = service.GetTags();

                Assert.IsNotNull(tags);
                Assert.AreEqual(tags.Items.Count, fakeTags.Count);
                Assert.AreEqual(tags.TotalCount, fakeTags.Count);

                var fakeTag = fakeTags[0];
                var tag = tags.Items.FirstOrDefault(l => fakeTag.Id == l.Id);
                Assert.IsNotNull(tag);
                Assert.AreEqual(fakeTag.Name, tag.Name);
            }
        }
Ejemplo n.º 14
0
        private static void AddDefaultPage(PagesApiContext pagesApi, Layout layout, HtmlContentWidget header, HtmlContentWidget footer)
        {
            var pageRequest = new CreatePageRequest()
            {
                LayoutId = layout.Id,
                PageUrl = Urls.DefaultPage,
                Title = "Better CMS",
                Description = "Better CMS main page.",
                Status = PageStatus.Published,
                MetaTitle = "Better CMS main page meta title",
                MetaDescription = "Better CMS main page meta description.",
                MetaKeywords = "Better CMS"
            };
            var page = pagesApi.CreatePage(pageRequest);

            AddPageContent(pagesApi, page, header, footer, "<p>Hello world!</p>");
        }
Ejemplo n.º 15
0
        private static void AddPageContent(PagesApiContext pagesApi, PageProperties page, HtmlContentWidget header, HtmlContentWidget footer, string mainHtml)
        {
            pagesApi.AddHtmlContentWidgetToPage(new AddWidgetToPageRequest() { PageId = page.Id, ContentId = header.Id, RegionIdentifier = Template.Regions.Header });
            pagesApi.AddHtmlContentWidgetToPage(new AddWidgetToPageRequest() { PageId = page.Id, ContentId = footer.Id, RegionIdentifier = Template.Regions.Footer });

            var contentRequest = new CreatePageHtmlContentRequest()
            {
                PageId = page.Id,
                RegionIdentifier = Template.Regions.Main,
                Name = "Main Content",
                Html = mainHtml,
                ContentStatus = ContentStatus.Published
            };
            pagesApi.CreatePageHtmlContent(contentRequest);
        }
Ejemplo n.º 16
0
        private static Layout AddLayout(PagesApiContext pagesApi)
        {
            var layouts = pagesApi.GetLayouts(new GetLayoutsRequest(l => l.LayoutPath == Template.LayoutPath));
            if (layouts.Items.Count > 0)
            {
                return layouts.Items[0];
            }

            var request = new CreateLayoutRequest()
            {
                Name = Template.Name,
                LayoutPath = Template.LayoutPath,
                Regions = new[] { Template.Regions.Main, Template.Regions.Header, Template.Regions.Footer }
            };
            return pagesApi.CreateLayout(request);
        }
Ejemplo n.º 17
0
        private static HtmlContentWidget AddHtmlWidget(PagesApiContext pagesApi, string title, string html)
        {
            var name = string.Format("Default Better CMS {0}", title);

            var getRequest = new GetHtmlContentWidgetsRequest(e => e.Name == name);
            var widgets = pagesApi.GetHtmlContentWidgets(getRequest);
            if (widgets.Items.Count > 0)
            {
                return widgets.Items[0];
            }

            var createRequest = new CreateHtmlContentWidgetRequest { Name = name, Html = html };
            return pagesApi.CreateHtmlContentWidget(createRequest);
        }