public void AddCalendarWidgetToPage(Guid pageId, string placeholder = "Body") { var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(EventSchedulerController).FullName; PageContentGenerator.AddControlToPage(pageId, mvcProxy, "Calendar", placeholder); }
public void StyleSheetWidget_RendersInHead() { var testName = MethodInfo.GetCurrentMethod().Name; string pageNamePrefix = testName; string pageTitlePrefix = testName; string urlNamePrefix = testName; string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix); var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(StyleSheetController).FullName; var controller = new StyleSheetController(); controller.Model.Mode = ResourceMode.Reference; controller.Model.ResourceUrl = "http://my-styles.com/styles.css"; controller.Model.MediaType = "screen"; mvcProxy.Settings = new ControllerSettings(controller); using (var generator = new PageContentGenerator()) { var pageId = generator.CreatePage(pageNamePrefix, pageTitlePrefix, urlNamePrefix); PageContentGenerator.AddControlToPage(pageId, mvcProxy, "CSS widget"); string responseContent = PageInvoker.ExecuteWebRequest(url); Assert.IsTrue(this.IsInHead(responseContent, @"<link href=""http://my-styles.com/styles.css"" media=""screen"" rel=""stylesheet"" type=""text/css"" />"), "The stylesheet reference was not found in the head."); } }
private void AddGridControlToPage(Guid pageId, string controlPath, string placeHolder, string caption) { var control = new GridControl(); control.Layout = controlPath; PageContentGenerator.AddControlToPage(pageId, control, caption, placeHolder); }
private void AddScriptControllerToPage(Guid pageId, string scriptSource = null, string sectionName = null) { var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(DummyScriptController).FullName; var controller = new DummyScriptController(); controller.ScriptSource = scriptSource; controller.SectionName = sectionName; mvcProxy.Settings = new ControllerSettings(controller); PageContentGenerator.AddControlToPage(pageId, mvcProxy, Guid.NewGuid().ToString("N"), "TestPlaceHolder"); }
public void AddFormControlToPage(Guid pageId, Guid formId, string formName = "TestForm", string placeholder = "Contentplaceholder1") { var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(FormController).FullName; var controller = new FormController(); controller.Model.FormId = formId; controller.Model.ViewMode = FormViewMode.Write; mvcProxy.Settings = new ControllerSettings(controller); PageContentGenerator.AddControlToPage(pageId, mvcProxy, formName, placeholder); }
public void FormsWidget_SubmitFormWithForumWidgetOnPageBasedOnCustomHybridPage_NoExceptionIsThrown() { var testName = MethodInfo.GetCurrentMethod().Name; var templateName = testName + "template"; var pageName = testName + "page"; var submitButtonControl = new MvcWidgetProxy(); submitButtonControl.ControllerName = typeof(SubmitButtonController).FullName; submitButtonControl.Settings = new ControllerSettings(new SubmitButtonController()); var formId = ServerOperationsFeather.Forms().CreateFormWithWidget(submitButtonControl); var forumControl = new ForumsView(); var pageManager = PageManager.GetManager(); Guid templateId = Guid.Empty; Guid pageId = Guid.Empty; try { templateId = Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().CreateHybridMVCPageTemplate(templateName); pageId = FeatherServerOperations.Pages().CreatePageWithTemplate(pageManager.GetTemplate(templateId), pageName, pageName); ServerOperationsFeather.Forms().AddFormControlToPage(pageId, formId, "TestForm", "Body"); PageContentGenerator.AddControlToPage(pageId, forumControl, "TestForum", "Body"); var page = pageManager.GetPageNode(pageId); var pageUrl = page.GetFullUrl(); pageUrl = RouteHelper.GetAbsoluteUrl(pageUrl); var webRequest = (HttpWebRequest)WebRequest.Create(pageUrl); var dataString = "------WebKitFormBoundaryPIB6p73K1Y0L0ha5--"; var dataBytes = (new ASCIIEncoding()).GetBytes(dataString); webRequest.Method = "POST"; webRequest.ContentLength = dataBytes.Length; webRequest.ContentType = "multipart/form-data"; webRequest.Timeout = 120 * 1000; webRequest.GetRequestStream().Write(dataBytes, 0, dataBytes.Length); Assert.DoesNotThrow(() => webRequest.GetResponse(), "Submitting a form on custom hybrid page with a forum widget on it throws error"); } finally { Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeletePage(pageId); Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().DeletePageTemplate(templateId); FormsModuleCodeSnippets.DeleteForm(formId); } }
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 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); } } }