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);
            }
        }
Esempio n. 2
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);
            }
        }
Esempio n. 3
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);
            }
        }
        public void Should_Return_Empty_Redirects_List_Successfully()
        {
            Mock <IRepository> repositoryMock = new Mock <IRepository>();

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

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

                Assert.IsNotNull(redirects);
                Assert.IsEmpty(redirects.Items);
                Assert.AreEqual(redirects.TotalCount, 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);
            }
        }
Esempio n. 6
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>");
        }
Esempio n. 7
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>");
        }
Esempio n. 8
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>");
        }
Esempio n. 9
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));
        }
Esempio n. 10
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));
        }
Esempio n. 11
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);
            }
        }
Esempio n. 12
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);
            }
        }
        public void Should_Return_History_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);
            }
        }
        public void Should_Return_History_List_Successfully()
        {
            var widgets        = CreateFakeWidgets();
            var repositoryMock = MockRepository(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());
            }
        }
Esempio 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);
        }
        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);
            }
        }