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); } }
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_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); } }
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>"); }
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>"); }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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>"); }
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); }
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); }
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); }