public void EventWidget_AllEvents_FilterByCalendar() { var methodName = MethodInfo.GetCurrentMethod().Name; var calendarId = ServerOperations.Events().CreateCalendar(Guid.NewGuid(), "custom_calendar"); ServerOperations.Events().CreateEvent(methodName + "_fromdefault", "some content", false, DateTime.Now, DateTime.Now.AddHours(2), ServerOperations.Events().GetDefaultCalendarId()); ServerOperations.Events().CreateEvent(methodName + "_fromcustom", "some content", false, DateTime.Now, DateTime.Now.AddHours(2), calendarId); try { var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(EventController).FullName; var eventController = new EventController(); eventController.Model.NarrowSelectionMode = Telerik.Sitefinity.Frontend.Mvc.Models.SelectionMode.FilteredItems; eventController.Model.SerializedNarrowSelectionFilters = this.GetNarrowSelectionSerializedQueryData("Calendars", "Parent.Id.ToString()", "Parent.Id", calendarId, "System.String"); mvcProxy.Settings = new ControllerSettings(eventController); using (var generator = new PageContentGenerator()) { generator.CreatePageWithWidget(mvcProxy, null, methodName, methodName, methodName, 0); var pageContent = WebRequestHelper.GetPageWebContent(RouteHelper.GetAbsoluteUrl("~/" + methodName + "0")); Assert.Contains(pageContent, methodName + "_fromcustom", System.StringComparison.Ordinal); Assert.DoesNotContain(pageContent, methodName + "_fromdefault", System.StringComparison.Ordinal); } } finally { ServerOperations.Events().DeleteAllEvents(); ServerOperations.Events().DeleteCalendar(calendarId); } }
public void EventWidget_AllEvents_DisplayAll() { var methodName = MethodInfo.GetCurrentMethod().Name; try { this.BuildEvents(methodName); var eventController = new EventController(); eventController.Model.DisplayMode = ListDisplayMode.Paging; eventController.Model.SelectionMode = SelectionMode.AllItems; var mvcProxy = new MvcControllerProxy() { Settings = new ControllerSettings(eventController), ControllerName = typeof(EventController).FullName }; var containedEvents = new string[] { CurrentEventNameFormat, NextWeekEventNameFormat, NextMonthEventNameFormat, PreviousMonthEventNameFormat, PreviousWeekEventNameFormat }.Select(s => string.Format(CultureInfo.InvariantCulture, s, methodName)); using (var generator = new PageContentGenerator()) { generator.CreatePageWithWidget(mvcProxy, null, methodName, methodName, methodName, 0); var pageContent = WebRequestHelper.GetPageWebContent(RouteHelper.GetAbsoluteUrl("~/" + methodName + "0")); foreach (var title in containedEvents) { Assert.Contains(pageContent, title, StringComparison.Ordinal); } } } finally { ServerOperations.Events().DeleteAllEvents(); } }
public void LoginStatus_OnDetailsPage_DoesNotThrowException() { const string LoginStatusCaption = "login status"; Guid newsItemId = Guid.Parse("4785b751-ce3a-4e5e-ba81-138f8f2a8a09"); string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; var mvcNewsProxy = new MvcControllerProxy(); mvcNewsProxy.ControllerName = typeof(NewsController).FullName; var newsController = new NewsController(); newsController.OpenInSamePage = true; mvcNewsProxy.Settings = new ControllerSettings(newsController); var mvcLoginStatusProxy = new MvcControllerProxy(); mvcLoginStatusProxy.ControllerName = typeof(LoginStatusController).FullName; using (var generator = new PageContentGenerator()) { var pageId = generator.CreatePageWithWidget(mvcNewsProxy, null, testName, testName, testName, 0); PageContentGenerator.AddControlToPage(pageId, mvcLoginStatusProxy, LoginStatusCaption); string pageUrl = UrlPath.ResolveAbsoluteUrl("~/" + testName + "0"); var newsManager = NewsManager.GetManager(); try { var newsItem = newsManager.CreateNewsItem(newsItemId); newsItem.Title = testName; newsItem.UrlName = testName; newsManager.Lifecycle.Publish(newsItem); newsManager.SaveChanges(); string detailNewsUrl = pageUrl + newsItem.ItemDefaultUrl; var pageContent = WebRequestHelper.GetPageWebContent(RouteHelper.GetAbsoluteUrl(detailNewsUrl)); Assert.DoesNotContain(pageContent, "Exception occured while executing the controller. Check error logs for details.", StringComparison.Ordinal); } finally { newsManager.Delete(newsManager.GetNewsItem(newsItemId)); newsManager.SaveChanges(); } } }
public void CreatePageWithNoOutputIndexingModeWidget_RenderPageInMemory_ResponseDoesNotContainWidget() { string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; string pageNamePrefix = testName + "MvcPage"; string pageTitlePrefix = testName + "Mvc Page"; string urlNamePrefix = testName + "mvc-page"; int index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(DummyNoOutputInIndexingController).FullName; using (var contentGenerator = new PageContentGenerator()) { var pageId = contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index); var pageNode = PageManager.GetManager().GetPageNode(pageId); var content = new InMemoryPageRender().RenderPage(pageNode); Assert.DoesNotContain(content, DummyNoOutputInIndexingController.Output, "The output of the widget that should not have been rendered was found!"); } }
public void EventWidget_AllEvents_FilterByCustomHierarchicalCategories() { var methodName = MethodInfo.GetCurrentMethod().Name; ServerOperations.Events().CreateEvent(methodName + "_notclassified"); var eventId = ServerOperations.Events().CreateEvent(methodName + "_classified"); ServerOperations.Taxonomies().CreateHierarchicalTaxonomy("Custom"); ServerOperations.Taxonomies().CreateHierarchicalTaxon("parent", null, "Custom"); ServerOperations.Taxonomies().CreateHierarchicalTaxon("child", "parent", "Custom"); var taxonId = ServerOperations.Taxonomies().CreateHierarchicalTaxon(methodName, "child", "Custom"); ServerOperations.Events().AssignTaxonToEventItem(eventId, "Category", taxonId); try { var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(EventController).FullName; var eventController = new EventController(); eventController.Model.NarrowSelectionMode = Telerik.Sitefinity.Frontend.Mvc.Models.SelectionMode.FilteredItems; eventController.Model.SerializedNarrowSelectionFilters = this.GetNarrowSelectionSerializedQueryData("Category", "Category", methodName, taxonId); mvcProxy.Settings = new ControllerSettings(eventController); using (var generator = new PageContentGenerator()) { generator.CreatePageWithWidget(mvcProxy, null, methodName, methodName, methodName, 0); var pageContent = WebRequestHelper.GetPageWebContent(RouteHelper.GetAbsoluteUrl("~/" + methodName + "0")); Assert.Contains(pageContent, methodName + "_classified", System.StringComparison.Ordinal); Assert.DoesNotContain(pageContent, methodName + "_notclassified", System.StringComparison.Ordinal); } } finally { ServerOperations.Events().DeleteAllEvents(); ServerOperations.Taxonomies().DeleteCategories(methodName, "child", "parent"); ServerOperations.Taxonomies().DeleteHierarchicalTaxonomy("Custom"); } }
public void CreatePageWithNoOutputIndexingModeWidget_RenderPageInMemory_ResponseDoesNotContainWidget() { string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; string pageNamePrefix = testName + "MvcPage"; string pageTitlePrefix = testName + "Mvc Page"; string urlNamePrefix = testName + "mvc-page"; int index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(DummyNoOutputInIndexingController).FullName; using (var contentGenerator = new PageContentGenerator()) { var pageId = contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index); var pageNode = PageManager.GetManager().GetPageNode(pageId); var content = new InMemoryPageRender().RenderPage(pageNode); Assert.DoesNotContain(content, DummyNoOutputInIndexingController.Output, "The output of the widget that should not have been rendered was found!"); } }
public void CreatePageWithFailingWidget_RenderPage_ResponseContainsErrorMessage() { string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; string pageNamePrefix = testName + "MvcPage"; string pageTitlePrefix = testName + "Mvc Page"; string urlNamePrefix = testName + "mvc-page"; int index = 1; string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index); var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(DummyFailingController).FullName; using (var contentGenerator = new PageContentGenerator()) { contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index); string responseContent = WebRequestHelper.GetPageWebContent(url); string expectedResult = Res.Get<InfrastructureResources>().ErrorExecutingController; Assert.Contains(responseContent, expectedResult, "The expected error message was not found on the page!"); } }
public void RequestPage_WithAttributeRoutedWidget_RoutedCorrectly() { using (var contentGenerator = new PageContentGenerator()) { var testName = MethodInfo.GetCurrentMethod().Name; var pageNamePrefix = testName + "MvcPage"; var pageTitlePrefix = testName + "Mvc Page"; var urlNamePrefix = testName + "mvc-page"; var index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(AttributeRoutingTestController).FullName; contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, 1); string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index + "/" + AttributeRoutingTestController.RoutePrefix + "/" + AttributeRoutingTestController.RelativeRoute); string content = string.Empty; Assert.DoesNotThrow(() => content = WebRequestHelper.GetPageWebContent(url), "Could not get the page successfully."); Assert.Contains(content, AttributeRoutingTestController.Content, "The correct action was not rendered."); } }
public void RequestPage_WithAttributeRoutedWidget_RoutedCorrectly() { using (var contentGenerator = new PageContentGenerator()) { var testName = MethodInfo.GetCurrentMethod().Name; var pageNamePrefix = testName + "MvcPage"; var pageTitlePrefix = testName + "Mvc Page"; var urlNamePrefix = testName + "mvc-page"; var index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(AttributeRoutingTestController).FullName; contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, 1); string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index + "/" + AttributeRoutingTestController.RoutePrefix + "/" + AttributeRoutingTestController.RelativeRoute); string content = string.Empty; Assert.DoesNotThrow(() => content = WebRequestHelper.GetPageWebContent(url), "Could not get the page successfully."); Assert.Contains(content, AttributeRoutingTestController.Content, "The correct action was not rendered."); } }
private void TestFilterByDate(string methodName, string serializedAdditionalFilters, IEnumerable <string> containedEvents, IEnumerable <string> notContainedEvents) { try { this.BuildEvents(methodName); var eventController = new EventController(); eventController.Model.DisplayMode = ListDisplayMode.Paging; eventController.Model.SelectionMode = SelectionMode.FilteredItems; eventController.Model.NarrowSelectionMode = SelectionMode.AllItems; eventController.Model.SerializedAdditionalFilters = serializedAdditionalFilters; var mvcProxy = new MvcControllerProxy() { Settings = new ControllerSettings(eventController), ControllerName = typeof(EventController).FullName }; using (var generator = new PageContentGenerator()) { generator.CreatePageWithWidget(mvcProxy, null, methodName, methodName, methodName, 0); var pageContent = WebRequestHelper.GetPageWebContent(RouteHelper.GetAbsoluteUrl("~/" + methodName + "0")); foreach (var title in containedEvents) { Assert.Contains(pageContent, title, StringComparison.Ordinal); } foreach (var title in notContainedEvents) { Assert.DoesNotContain(pageContent, title, StringComparison.Ordinal); } } } finally { ServerOperations.Events().DeleteAllEvents(); } }
public void CreatePageWithFailingWidget_RenderPage_ResponseContainsErrorMessage() { string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; string pageNamePrefix = testName + "MvcPage"; string pageTitlePrefix = testName + "Mvc Page"; string urlNamePrefix = testName + "mvc-page"; int index = 1; string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index); var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(DummyFailingController).FullName; using (var contentGenerator = new PageContentGenerator()) { contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index); string responseContent = WebRequestHelper.GetPageWebContent(url); string expectedResult = Res.Get <InfrastructureResources>().ErrorExecutingController; Assert.Contains(responseContent, expectedResult, "The expected error message was not found on the page!"); } }
public void LoginStatus_NonExistingUrl_Returns404() { string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name; var mvcLoginStatusProxy = new MvcControllerProxy(); mvcLoginStatusProxy.ControllerName = typeof(LoginStatusController).FullName; using (var generator = new PageContentGenerator()) { generator.CreatePageWithWidget(mvcLoginStatusProxy, null, testName, testName, testName, 0); var pageUrl = UrlPath.ResolveAbsoluteUrl("~/" + testName + "0"); try { HttpWebRequest.Create(pageUrl + "/non-existing-page").GetResponse(); } catch (WebException ex) { var response = (HttpWebResponse)ex.Response; Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode); } } }
public void RequestDetailsPage_WithNewsWidgetAndContentBlock_ResponseOk() { using (var contentGenerator = new PageContentGenerator()) { var testName = MethodInfo.GetCurrentMethod().Name; var pageNamePrefix = testName + "MvcPage"; var pageTitlePrefix = testName + "Mvc Page"; var urlNamePrefix = testName + "mvc-page"; var newsItemName = testName + "-news"; var index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(RoutingTests.NewsController).FullName; var pageId = contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, 1); mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(RoutingTests.ContentBlockController).FullName; PageContentGenerator.AddControlToPage(pageId, mvcProxy, typeof(RoutingTests.ContentBlockController).Name); try { var newsItemId = ServerOperations.News().CreatePublishedNewsItem(newsItemName); var newsItemUrl = App.WorkWith().NewsItem(newsItemId).Get().ItemDefaultUrl; string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index + "/" + newsItemUrl); Assert.DoesNotThrow(() => WebRequestHelper.GetPageWebContent(url), "Could not get the page successfully."); } finally { ServerOperations.News().DeleteNewsItem(newsItemName); } } }
public void RequestDetailsPage_WithNewsWidgetAndContentBlock_ResponseOk() { using (var contentGenerator = new PageContentGenerator()) { var testName = MethodInfo.GetCurrentMethod().Name; var pageNamePrefix = testName + "MvcPage"; var pageTitlePrefix = testName + "Mvc Page"; var urlNamePrefix = testName + "mvc-page"; var newsItemName = testName + "-news"; var index = 1; var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(RoutingTests.NewsController).FullName; var pageId = contentGenerator.CreatePageWithWidget(mvcProxy, string.Empty, pageNamePrefix, pageTitlePrefix, urlNamePrefix, 1); mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(RoutingTests.ContentBlockController).FullName; PageContentGenerator.AddControlToPage(pageId, mvcProxy, typeof(RoutingTests.ContentBlockController).Name); try { var newsItemId = ServerOperations.News().CreatePublishedNewsItem(newsItemName); var newsItemUrl = App.WorkWith().NewsItem(newsItemId).Get().ItemDefaultUrl; string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index + "/" + newsItemUrl); Assert.DoesNotThrow(() => WebRequestHelper.GetPageWebContent(url), "Could not get the page successfully."); } finally { ServerOperations.News().DeleteNewsItem(newsItemName); } } }