Exemplo n.º 1
0
        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.");
            }
        }
        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.");
            }
        }
        public void EventWidget_VerifyOpenSingleItemInCustomPage()
        {
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "EventsPage";
            string pageTitlePrefix = testName + "Events Page";
            string urlNamePrefix   = testName + "events-page";
            int    secondPageIndex = 2;
            string secondPageUrl   = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + secondPageIndex);

            var secondPageMvcProxy = new MvcControllerProxy();

            secondPageMvcProxy.ControllerName = typeof(EventController).FullName;
            var secondPageId = this.pageOperations.CreatePageWithControl(secondPageMvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, secondPageIndex);

            var firstPageMvcProxy = new MvcControllerProxy();

            firstPageMvcProxy.ControllerName = typeof(EventController).FullName;
            var eventController = new EventController();

            eventController.OpenInSamePage = false;
            eventController.DetailsPageId  = secondPageId;
            firstPageMvcProxy.Settings     = new ControllerSettings(eventController);

            var items = eventController.Model.CreateListViewModel(null, 1).Items.ToArray();

            Assert.AreEqual(EventWidgetDetailSettingsTests.EventsCount, items.Length, "The count of the events is not as expected");

            var    expectedDetailEvent    = (Event)items[0].DataItem;
            string expectedDetailEventUrl = secondPageUrl + expectedDetailEvent.ItemDefaultUrl;

            string responseContent = this.pageOperations.AddWidgetToPageAndRequest(firstPageMvcProxy);

            Assert.IsTrue(responseContent.Contains(expectedDetailEventUrl), "The expected details event url was not found!");
        }
Exemplo n.º 4
0
        public void PostForm_RedirectUrlIsPreserved()
        {
            string loginFormPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
            var    redirectQuery    = "?RedirectUrl=myRedirectUrl";

            this.pageOperations = new PagesOperations();

            try
            {
                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(LoginFormController).FullName;
                var loginFormController = new LoginFormController();
                mvcProxy.Settings = new ControllerSettings(loginFormController);

                this.pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);

                SecurityManager.Logout();
                var responseContent = PageInvoker.ExecuteWebRequest(loginFormPageUrl + redirectQuery);

                var expectedActionUrl = this.urlNamePrefix + this.pageIndex + redirectQuery;
                Assert.IsTrue(responseContent.Contains(string.Format("action=\"{0}\"", expectedActionUrl)), "The action URL no longer contains redirect URL");
            }
            finally
            {
                SecurityManager.Logout();
                SitefinityTestUtilities.ServerOperations.Users().AuthenticateAdminUser();
                this.pageOperations.DeletePages();
            }
        }
Exemplo n.º 5
0
        public void DocumentsList_VerifyPaging()
        {
            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(DocumentsListController).FullName;
            var documentsListController = new DocumentsListController();

            documentsListController.Model.SelectionMode  = SelectionMode.AllItems;
            documentsListController.Model.DisplayMode    = ListDisplayMode.Paging;
            documentsListController.Model.SortExpression = "Title ASC";
            documentsListController.Model.ItemsPerPage   = 1;
            mvcProxy.Settings = new ControllerSettings(documentsListController);

            var docsPage1 = documentsListController.Model.CreateListViewModel(null, 1).Items.ToArray();

            Assert.IsTrue(docsPage1.Length.Equals(1), "Number of docs is not correct");
            Assert.AreEqual(DocumentTitle + 1, docsPage1[0].Fields.Title.Value, "Wrong title");

            var docsPage2 = documentsListController.Model.CreateListViewModel(null, 2).Items.ToArray();

            Assert.IsTrue(docsPage2.Length.Equals(1), "Number of docs is not correct");
            Assert.AreEqual(DocumentTitle + 2, docsPage2[0].Fields.Title.Value, "Wrong title");

            var docsPage3 = documentsListController.Model.CreateListViewModel(null, 3).Items.ToArray();

            Assert.IsTrue(docsPage3.Length.Equals(1), "Number of docs is not correct");
            Assert.AreEqual(DocumentTitle + 3, docsPage3[0].Fields.Title.Value, "Wrong title");
        }
Exemplo n.º 6
0
        public void UsersList_VerifyPaging()
        {
            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(UsersListController).FullName;
            var usersListController = new UsersListController();

            usersListController.Model.SelectionMode  = SelectionMode.AllItems;
            usersListController.Model.DisplayMode    = ListDisplayMode.Paging;
            usersListController.Model.SortExpression = "FirstName ASC";
            usersListController.Model.ItemsPerPage   = 1;
            mvcProxy.Settings = new ControllerSettings(usersListController);

            var usersPage1 = usersListController.Model.CreateListViewModel(1).Items.ToArray();

            Assert.IsTrue(usersPage1.Length.Equals(1), "Number of users is not correct");
            Assert.AreEqual(SitefinityAdmin, usersPage1[0].Fields.User.UserName, "Wrong username");

            var usersPage2 = usersListController.Model.CreateListViewModel(2).Items.ToArray();

            Assert.IsTrue(usersPage2.Length.Equals(1), "Number of users is not correct");
            Assert.AreEqual(AdministratorEmail, usersPage2[0].Fields.User.UserName, "Wrong username");

            var usersPage3 = usersListController.Model.CreateListViewModel(3).Items.ToArray();

            Assert.IsTrue(usersPage3.Length.Equals(1), "Number of users is not correct");
            Assert.AreEqual(AuthorEmail, usersPage3[0].Fields.User.UserName, "Wrong username");
        }
        private Guid CreateTemplateWithControl(PageTemplateFramework framework)
        {
            Guid pageTemplateId = Guid.Empty;

            var templatesOperations = Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates();

            if (framework == PageTemplateFramework.Hybrid)
            {
                pageTemplateId = templatesOperations.CreateHybridMVCPageTemplate(ModuleUnloadTests.PageTemplateTitle + Guid.NewGuid().ToString());
            }
            else if (framework == PageTemplateFramework.Mvc)
            {
                pageTemplateId = templatesOperations.CreatePureMVCPageTemplate(ModuleUnloadTests.PageTemplateTitle + Guid.NewGuid().ToString());
            }

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;

            var contentBlockController = new ContentBlockController();

            contentBlockController.Content = ModuleUnloadTests.PageControlContent;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            templatesOperations.AddControlToTemplate(pageTemplateId, mvcProxy, "Body", "ContentBlockCaption");

            return(pageTemplateId);
        }
Exemplo n.º 8
0
        public void NewsWidget_VerifyOpenSingleItemInSamePage()
        {
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "NewsPage";
            string pageTitlePrefix = testName + "News Page";
            string urlNamePrefix   = testName + "news-page";
            int    pageIndex       = 1;
            string pageUrl         = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(NewsController).FullName;
            var newsController = new NewsController();

            newsController.OpenInSamePage = true;
            mvcProxy.Settings             = new ControllerSettings(newsController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            var items = newsController.Model.CreateListViewModel(null, 1).Items.ToArray();

            Assert.AreEqual(this.newsCount, items.Length, "The count of the news item is not as expected");

            var expectedDetailNews = (NewsItem)items[0].DataItem;

            string detailNewsUrl = pageUrl + expectedDetailNews.ItemDefaultUrl;

            ActionExecutionRegister.ExecutedActionInfos.Clear();
            PageInvoker.ExecuteWebRequest(detailNewsUrl);

            this.AssertDetailActionInvokation(expectedDetailNews);
        }
Exemplo n.º 9
0
        public void ImageGallery_VerifyPaging()
        {
            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(ImageGalleryController).FullName;
            var imageGalleryController = new ImageGalleryController();

            imageGalleryController.Model.SelectionMode  = SelectionMode.AllItems;
            imageGalleryController.Model.DisplayMode    = ListDisplayMode.Paging;
            imageGalleryController.Model.SortExpression = "Title ASC";
            imageGalleryController.Model.ItemsPerPage   = 1;
            mvcProxy.Settings = new ControllerSettings(imageGalleryController);

            var imagesPage1 = imageGalleryController.Model.CreateListViewModel(null, 1).Items.ToArray();

            Assert.IsTrue(imagesPage1.Length.Equals(1), "Number of images is not correct");
            Assert.AreEqual(ImagetTitle + 1, imagesPage1[0].Fields.Title.Value, "Wrong title");

            var imagesPage2 = imageGalleryController.Model.CreateListViewModel(null, 2).Items.ToArray();

            Assert.IsTrue(imagesPage2.Length.Equals(1), "Number of images is not correct");
            Assert.AreEqual(ImagetTitle + 2, imagesPage2[0].Fields.Title.Value, "Wrong title");

            var imagesPage3 = imageGalleryController.Model.CreateListViewModel(null, 3).Items.ToArray();

            Assert.IsTrue(imagesPage3.Length.Equals(1), "Number of images is not correct");
            Assert.AreEqual(ImagetTitle + 3, imagesPage3[0].Fields.Title.Value, "Wrong title");
        }
Exemplo n.º 10
0
        private void AddDummyScriptControllerToPage(string pageTitlePrefix, string urlNamePrefix, PageTemplate template, string placeHolder = "Body")
        {
            var controls  = new List <System.Web.UI.Control>();
            var mvcProxy1 = new MvcControllerProxy();

            mvcProxy1.ControllerName = typeof(DummyScriptController).FullName;
            var newsController1 = new DummyScriptController();

            mvcProxy1.Settings = new ControllerSettings(newsController1);
            controls.Add(mvcProxy1);

            var mvcProxy2 = new MvcControllerProxy();

            mvcProxy2.ControllerName = typeof(DummyScriptController).FullName;
            var newsController2 = new DummyScriptController();

            mvcProxy2.Settings = new ControllerSettings(newsController2);
            controls.Add(mvcProxy2);

            Guid pageId = FeatherServerOperations.Pages().CreatePageWithTemplate(
                template,
                pageTitlePrefix,
                urlNamePrefix);

            PageContentGenerator.AddControlsToPage(pageId, controls, placeHolder);
        }
        public void OnBeforeTestsStarts()
        {
            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(EventSchedulerController).FullName;

            var templateId = ServerOperations.Templates().CreateHybridMVCPageTemplate(CaptionCalendar);

            ServerOperationsFeather.TemplateOperations().AddControlToTemplate(templateId, mvcProxy, PlaceHolderId, CaptionCalendar);

            ServerOperations.Events().CreateEvent(Event1Title, string.Empty, false, this.eventStart, this.eventEnd);
            var event1Item = EventsManager.GetManager()
                             .GetEvents()
                             .Where <Event>(ni => ni.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live && ni.Title == Event1Title)
                             .FirstOrDefault();

            ServerArrangementContext.GetCurrent().Values.Add("event1Id", event1Item.Id.ToString());

            ServerOperations.Events().CreateEvent(Event2Title, string.Empty, false, this.eventStart, this.eventEnd);
            var event2Item = EventsManager.GetManager()
                             .GetEvents().Where <Event>(ni => ni.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live && ni.Title == Event2Title)
                             .FirstOrDefault();

            ServerArrangementContext.GetCurrent().Values.Add("event2Id", event2Item.Id.ToString());
        }
Exemplo n.º 12
0
        public void ContentBlockWidget_EditSharedContent()
        {
            string testName = "ContentBlockWidgetEditSharedContent";
            string pageNamePrefix = testName + "ContentBlockPage";
            string pageTitlePrefix = testName + "Content Block";
            string urlNamePrefix = testName + "content-block";
            int pageIndex = 1;
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var content = App.WorkWith().ContentItems()
                           .Where(c => c.Title == ContentBlockTitle && c.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master)
                           .Get().Single();

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();
            contentBlockController.SharedContentID = content.Id;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            App.WorkWith().ContentItem(content.Id).CheckOut().Do(cI =>
            {
                cI.Content = ContentBlockContentEdited;
                cI.LastModified = DateTime.UtcNow;
            })
                .CheckIn().Publish().SaveChanges();

            string responseContent = PageInvoker.ExecuteWebRequest(url);
            Assert.IsTrue(responseContent.Contains(ContentBlockContentEdited), "The content block with this title was not found!");
        }
Exemplo n.º 13
0
        public void Logout_WithPageIdAndRedirectUrl_VerifyLogoutRedirectUrlIsCorrect()
        {
            string expectedLogoutUrl   = "www.telerik.com";
            string logoutStatusPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
            var    basicPageOperations = new Telerik.Sitefinity.TestUtilities.CommonOperations.PagesOperations();
            var    pageTitle           = "Page Title1";
            var    pageUrl             = "PageTitle1";

            try
            {
                var logoutPageId = basicPageOperations.CreatePage(pageTitle, pageUrl);

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(LoginStatusController).FullName;
                var loginStatusController = new LoginStatusController();
                loginStatusController.Model.LogoutPageId      = logoutPageId;
                loginStatusController.Model.ExternalLogoutUrl = expectedLogoutUrl;
                mvcProxy.Settings = new ControllerSettings(loginStatusController);

                this.pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);
                var responseContent = PageInvoker.ExecuteWebRequest(logoutStatusPageUrl);
                Assert.IsTrue(responseContent.Contains(expectedLogoutUrl), "Logout redirect url is not as expected");
            }
            finally
            {
                basicPageOperations.DeleteAllPages();
            }
        }
Exemplo n.º 14
0
        private Guid CreateTemplateWithWidgetAndBasePageOnIt(PageTemplateFramework framework, Controller widgetController, out Guid pageId, out string pageUrl)
        {
            var pageManager = PageManager.GetManager();

            // Create template
            var templateId = framework == PageTemplateFramework.Hybrid ?
                             ServerOperations.Templates().CreateHybridMVCPageTemplate(FrontendModuleFilterTests.TemplateTitle + Guid.NewGuid().ToString("N")) :
                             ServerOperations.Templates().CreatePureMVCPageTemplate(FrontendModuleFilterTests.TemplateTitle + Guid.NewGuid().ToString("N"));

            // Place widget on template
            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = widgetController.GetType().FullName;
            mvcProxy.Settings       = new ControllerSettings(widgetController);
            SampleUtilities.AddControlToTemplate(templateId, mvcProxy, "Body", "FrontendModuleFilterTestsWidgetCaption");

            // Create page with template
            var template = pageManager.GetTemplates().Where(t => t.Id == templateId).SingleOrDefault();

            pageId = FeatherServerOperations.Pages().CreatePageWithTemplate(template, "TestPageName", "test-page-url");
            var page = pageManager.GetPageNode(pageId);

            pageUrl = RouteHelper.GetAbsoluteUrl(page.GetFullUrl());

            return(templateId);
        }
Exemplo n.º 15
0
        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 ContentBlockWidget_ValidateOnEditPage()
        {
            string testName        = "ContentBlockWidgetEditSharedContent";
            string pageNamePrefix  = testName + "ContentBlockPage";
            string pageTitlePrefix = testName + "Content Block";
            string urlNamePrefix   = testName + "content-block";
            int    pageIndex       = 1;

            var content = App.WorkWith().ContentItems()
                          .Where(c => c.Title == ContentBlockTitle && c.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master)
                          .Get().Single();

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();

            contentBlockController.SharedContentID = content.Id;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            var pageId = this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            PageManager manager = PageManager.GetManager();
            var         page    = manager.GetPageNode(pageId);
            var         pageUrl = page.GetFullUrl();

            pageUrl = RouteHelper.GetAbsoluteUrl(pageUrl) + "/Action/Edit";

            string responseContent = PageInvoker.ExecuteWebRequest(pageUrl);

            Assert.IsTrue(responseContent.Contains(ContentBlockContent), "The content block with this text was not found!");
        }
        public void ContentBlockWidget_AdvancedSettings()
        {
            string testName        = "ContentBlockWidgetAdvancedSettings";
            string pageNamePrefix  = testName + "ContentBlockPage";
            string pageTitlePrefix = testName + "Content Block";
            string urlNamePrefix   = testName + "content-block";
            int    pageIndex       = 1;
            string url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var content = App.WorkWith().ContentItems()
                          .Published()
                          .Where(c => c.Title == ContentBlockTitle)
                          .Get().Single();

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();

            contentBlockController.SharedContentID = content.Id;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(ContentBlockContent), "The content block with this title was not found!");
        }
        public void EventWidget_SocialShareButtonsFunctionality()
        {
            string socialShare     = "list-inline sf-social-share";
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "EventsPage";
            string pageTitlePrefix = testName + "Events Page";
            string urlNamePrefix   = testName + "events-page";
            int    pageIndex       = 1;
            var    eventsManager   = EventsManager.GetManager();
            string url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(EventController).FullName;
            var eventController = new EventController();

            eventController.Model.EnableSocialSharing = true;
            mvcProxy.Settings = new ControllerSettings(eventController);
            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            var    eventItem       = eventsManager.GetEvents().Where <Event>(ni => ni.Status == ContentLifecycleStatus.Master && ni.Title == BaseEventTitle + 1).FirstOrDefault();
            string detailEventUrl  = url + eventItem.ItemDefaultUrl;
            string responseContent = PageInvoker.ExecuteWebRequest(detailEventUrl);

            Assert.IsTrue(responseContent.Contains(socialShare), "Social share button was not found!");
            Assert.IsTrue(responseContent.Contains(BaseEventTitle + 1), "The event with this title was not found!");
        }
        private void VerifyCorrectNewsOnPageWithUseLimitsOption(MvcControllerProxy mvcProxy, string pageNamePrefix, string pageTitlePrefix, string urlNamePrefix, int index, string url, string[] selectedNewsTitles)
        {
            try
            {
                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

                string responseContent = PageInvoker.ExecuteWebRequest(url);

                for (int i = 0; i < selectedNewsTitles.Count(); i++)
                {
                    if (i <= 4)
                    {
                        Assert.IsTrue(responseContent.Contains(selectedNewsTitles[i]), "The news with this title was not found!");
                    }
                    else
                    {
                        Assert.IsFalse(responseContent.Contains(selectedNewsTitles[i]), "The news with this title was found!");
                    }
                }
            }
            finally
            {
                this.pageOperations.DeletePages();
            }
        }
        public void EventWidget_UseLimit_TwoItems()
        {
            int limitCount = 2;

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(EventController).FullName;
            var eventController = new EventController();

            eventController.Model.LimitCount  = limitCount;
            eventController.Model.DisplayMode = Telerik.Sitefinity.Frontend.Mvc.Models.ListDisplayMode.Limit;
            mvcProxy.Settings = new Telerik.Sitefinity.Mvc.Proxy.ControllerSettings(eventController);

            string responseContent = this.pageOperations.AddWidgetToPageAndRequest(mvcProxy);

            for (int i = 1; i <= EventWidgetListSettingsTests.EventsCount; i++)
            {
                if (i > 2)
                {
                    Assert.IsFalse(responseContent.Contains(EventWidgetListSettingsTests.BaseEventTitle + i), "The event with this title was found!");
                }
                else
                {
                    Assert.IsTrue(responseContent.Contains(EventWidgetListSettingsTests.BaseEventTitle + i), "The event with this title was not found!");
                }
            }
        }
Exemplo n.º 21
0
        /// <summary>
        /// Here we are instantinating and configuring our DB Diagnostics widget
        /// Creating a new backend group page and placing it under the main Administration menu, under the Tools section
        /// This page only serves as a placeholder in the backend navigation menu
        /// After that we are creatign a standard backend page
        /// That contains the actual module UI
        /// It is a child of the first page we created, and is hidden from the naviagtion
        /// Instead, it is opened, when a user clicks on the group page from Administration menu
        /// Finally we are addingthe instantiated and configured DB diagnostics widget on the page
        /// </summary>
        /// <param name="initializer"></param>
        private void InstallNewDBDiagnosticsPage(SiteInitializer initializer)
        {
            Guid siblingId = Guid.Empty;
            var  dbDiagnosticToolWidget = new MvcControllerProxy();

            dbDiagnosticToolWidget.ControllerName = typeof(DBDiagnosticsToolController).FullName;
            dbDiagnosticToolWidget.Settings       = new ControllerSettings(new DBDiagnosticsToolController());

            initializer.Installer
            .CreateModuleGroupPage(ModuleGroupPageId, "DBDiagnosticsTool")
            .PlaceUnder(SiteInitializer.ToolsNodeId)
            .SetOrdinal(6f)
            .LocalizeUsing <DBDiagnosticsToolResources>()
            .SetTitleLocalized("DBDiagnosticsToolGroupPageTitle")
            .SetUrlNameLocalized("DBDiagnosticsToolGroupPageUrlName")
            .SetDescriptionLocalized("DBDiagnosticsToolGroupPageDescription")
            .ShowInNavigation()
            .AddChildPage(DBDiagnosticsPageId, "DBDiagnosticsToolPage")
            .SetOrdinal(1)
            .LocalizeUsing <DBDiagnosticsToolResources>()
            .SetTitleLocalized("DBDiagnosticsToolPageTitle")
            .SetHtmlTitleLocalized("DBDiagnosticsToolPageTitle")
            .SetUrlNameLocalized("DBDiagnosticsToolPageUrlName")
            .SetDescriptionLocalized("DBDiagnosticsToolPageDescription")
            .AddControl(dbDiagnosticToolWidget)
            .HideFromNavigation()
            .Done();
        }
        public void EventWidget_SelectListTemplate()
        {
            string textEdited    = "<p> Test paragraph </p>";
            string paragraphText = "Test paragraph";

            string listTemplate        = "ListPageNew";
            var    templateOperation   = new TemplateOperations();
            var    listTemplatePath    = Path.Combine(templateOperation.SfPath, "ResourcePackages", "Bootstrap", "MVC", "Views", "Event", "List.EventsList.cshtml");
            var    newListTemplatePath = Path.Combine(templateOperation.SfPath, "MVC", "Views", "Shared", "List.ListPageNew.cshtml");

            try
            {
                File.Copy(listTemplatePath, newListTemplatePath);
                this.EditFile(newListTemplatePath, textEdited);

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(EventController).FullName;
                var eventController = new EventController();
                eventController.ListTemplateName = listTemplate;
                mvcProxy.Settings = new ControllerSettings(eventController);

                string responseContent = this.pageOperations.AddWidgetToPageAndRequest(mvcProxy);

                Assert.IsTrue(responseContent.Contains(BaseEventTitle + 1), "The event with this title was not found!");
                Assert.IsTrue(responseContent.Contains(paragraphText), "The event with this template was not found!");
            }
            finally
            {
                File.Delete(newListTemplatePath);
            }
        }
        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 SearchResultsWidget_NonDefaultLanguage_ResultsFound_OldestOrder()
        {
            Guid searchIndex1Id = Guid.Empty;

            try
            {
                searchIndex1Id = SitefinityOperations.ServerOperations.Search().CreateSearchIndex(SearchResultsWidgetTests.SearchIndexName, new[] { SitefinityOperations.SearchContentType.News });
                SitefinityOperations.ServerOperations.Search().Reindex(searchIndex1Id);

                int    index           = 1;
                string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
                string pageNamePrefix  = testName + "NewsPage" + index;
                string pageTitlePrefix = testName + "NewsPage" + index;
                string urlNamePrefix   = testName + "news-page" + index;

                string orderBy = "Oldest";
                var    searchResultsController = new SearchResultsController();

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                mvcProxy.Settings = new ControllerSettings(newsController);

                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

                searchResultsController.Index(null, SearchResultsWidgetTests.NewsTitle, SearchResultsWidgetTests.SearchIndexName, null, this.frontEndLanguages[2].Name, orderBy);

                Assert.AreEqual(1, searchResultsController.Model.Results.TotalCount);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "20", searchResultsController.Model.Results.Data[0].GetValue("Title"));
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Search().DeleteAllIndexes();
            }
        }
Exemplo n.º 25
0
        public void Login_WithPageId_VerifyLoginRedirectUrlIsCorrect()
        {
            var pageOperations = new PagesOperations();

            try
            {
                string loginStatusPageUrl  = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
                var    basicPageOperations = new Telerik.Sitefinity.TestUtilities.CommonOperations.PagesOperations();
                var    pageTitle           = "Page Title1";
                var    pageUrl             = "PageTitle1";
                var    absoluteUrl         = UrlPath.GetDomainUrl() + "/" + pageUrl;
                try
                {
                    var loginPageId = basicPageOperations.CreatePage(pageTitle, pageUrl);

                    var mvcProxy = new MvcControllerProxy();
                    mvcProxy.ControllerName = typeof(LoginStatusController).FullName;
                    var loginStatusController = new LoginStatusController();
                    loginStatusController.Model.LoginPageId = loginPageId;
                    mvcProxy.Settings = new ControllerSettings(loginStatusController);

                    pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);
                    var responseContent = PageInvoker.ExecuteWebRequest(loginStatusPageUrl);
                    Assert.IsTrue(responseContent.Contains(this.GetExpectedUrlWithParams(absoluteUrl)), "Login redirect url is not as expected");
                }
                finally
                {
                    basicPageOperations.DeleteAllPages();
                }
            }
            finally
            {
                pageOperations.DeletePages();
            }
        }
        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);
            }
        }
Exemplo n.º 27
0
        public void ContentBlockWidget_AdvancedSettings()
        {
            string testName = "ContentBlockWidgetAdvancedSettings";
            string pageNamePrefix = testName + "ContentBlockPage";
            string pageTitlePrefix = testName + "Content Block";
            string urlNamePrefix = testName + "content-block";
            int pageIndex = 1;
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var content = App.WorkWith().ContentItems()
                           .Published()
                           .Where(c => c.Title == ContentBlockTitle)
                           .Get().Single();

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();
            contentBlockController.SharedContentID = content.Id;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(ContentBlockContent), "The content block with this title was not found!");
        }
        public void ContentBlockWidget_EditSharedContent()
        {
            string testName        = "ContentBlockWidgetEditSharedContent";
            string pageNamePrefix  = testName + "ContentBlockPage";
            string pageTitlePrefix = testName + "Content Block";
            string urlNamePrefix   = testName + "content-block";
            int    pageIndex       = 1;
            string url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var content = App.WorkWith().ContentItems()
                          .Where(c => c.Title == ContentBlockTitle && c.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master)
                          .Get().Single();

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();

            contentBlockController.SharedContentID = content.Id;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            App.WorkWith().ContentItem(content.Id).CheckOut().Do(cI =>
            {
                cI.Content      = ContentBlockContentEdited;
                cI.LastModified = DateTime.UtcNow;
            })
            .CheckIn().Publish().SaveChanges();

            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(ContentBlockContentEdited), "The content block with this title was not found!");
        }
        public void NewsWidget_OnBootstrapPageTemplate()
        {
            string templateName = "Bootstrap.defaultNew3";
            string placeHolder = "Contentplaceholder1";
            string url = UrlPath.ResolveAbsoluteUrl("~/" + UrlNamePrefix);
            Guid templateId = default(Guid);

            try
            {
                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                mvcProxy.Settings = new ControllerSettings(newsController);

                templateId = this.templateOperation.DuplicatePageTemplate(OldTemplateName, templateName);

                this.templateOperation.AddControlToTemplate(templateId, mvcProxy, placeHolder, CaptionNews);
                Guid pageId = this.locationGenerator.CreatePage(PageNamePrefix, PageTitlePrefix, UrlNamePrefix, null, null);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().SetTemplateToPage(pageId, templateId);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.News().CreateNewsItem(NewsTitle);

                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(NewsTitle), "The news with this title was not found!");
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeleteAllPages();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().DeletePageTemplate(templateId);
            }
        }
        public void EventWidget_CssClassesDetailsTemplate()
        {
            var    methodName      = MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = methodName + "EventsPage";
            string pageTitlePrefix = methodName + "Events Page";
            string urlNamePrefix   = methodName + "events-page";
            int    pageIndex       = 1;
            var    url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var cssClass = methodName + "_css-class";

            var eventController = new EventController();

            eventController.Model.DetailCssClass = cssClass;
            var mvcProxy = new MvcControllerProxy()
            {
                Settings = new ControllerSettings(eventController), ControllerName = typeof(EventController).FullName
            };

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);
            var eventItem       = EventsManager.GetManager().GetEvents().Where <Event>(ni => ni.Status == ContentLifecycleStatus.Master && ni.Title == BaseEventTitle + 1).FirstOrDefault();
            var detailEventUrl  = url + eventItem.ItemDefaultUrl;
            var responseContent = PageInvoker.ExecuteWebRequest(detailEventUrl);

            Assert.Contains(responseContent, cssClass, System.StringComparison.Ordinal);
        }
Exemplo n.º 31
0
        private void VerifyCorrectItemsOnPages(MvcControllerProxy mvcProxy, string pageNamePrefix, string pageTitlePrefix, string urlNamePrefix, int index, string url, string url2, string url3, string[] selectedDynamicTitles)
        {
            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

            string responseContent  = PageInvoker.ExecuteWebRequest(url);
            string responseContent2 = PageInvoker.ExecuteWebRequest(url2);
            string responseContent3 = PageInvoker.ExecuteWebRequest(url3);

            for (int i = 0; i < selectedDynamicTitles.Count(); i++)
            {
                if (i <= 2)
                {
                    Assert.IsTrue(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
                else if (i > 2 && i <= selectedDynamicTitles.Count() - 4)
                {
                    Assert.IsTrue(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
                else
                {
                    Assert.IsTrue(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
            }
        }
        public void NewsWidget_OnBootstrapPageTemplate()
        {
            string templateName = "Bootstrap.defaultNew3";
            string placeHolder  = "Contentplaceholder1";
            string url          = UrlPath.ResolveAbsoluteUrl("~/" + UrlNamePrefix);
            Guid   templateId   = default(Guid);

            try
            {
                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                mvcProxy.Settings = new ControllerSettings(newsController);

                templateId = this.templateOperation.DuplicatePageTemplate(OldTemplateName, templateName);

                this.templateOperation.AddControlToTemplate(templateId, mvcProxy, placeHolder, CaptionNews);
                Guid pageId = this.locationGenerator.CreatePage(PageNamePrefix, PageTitlePrefix, UrlNamePrefix, null, null);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().SetTemplateToPage(pageId, templateId);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.News().CreateNewsItem(NewsTitle);

                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(NewsTitle), "The news with this title was not found!");
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeleteAllPages();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().DeletePageTemplate(templateId);
            }
        }
        public void NewsWidget_VerifySelectedItemsFunctionalityWithNoLimit()
        {
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "NewsPage";
            string pageTitlePrefix = testName + "News Page";
            string urlNamePrefix   = testName + "news-page";
            int    index           = 1;
            string url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index);

            int newsCount = 25;

            string[] selectedNewsTitles = { "Title7", "Title15", "Title11", "Title3", "Title5", "Title8", "Title2", "Title16", "Title6" };
            var      selectedNewsItems  = new NewsItem[9];

            string[] newsNames = new string[newsCount];

            for (int i = 0; i < newsCount; i++)
            {
                this.serverOperationsNews.CreatePublishedNewsItem(newsTitle: NewsTitle + i, newsContent: NewsTitle + i, author: NewsTitle + i);
                newsNames[i] = NewsTitle + i;
            }

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(NewsController).FullName;
            var newsController = new NewsController();

            newsController.Model.SelectionMode = SelectionMode.SelectedItems;
            newsController.Model.DisplayMode   = ListDisplayMode.All;

            var newsManager = NewsManager.GetManager();

            for (int i = 0; i < selectedNewsTitles.Count(); i++)
            {
                selectedNewsItems[i] = newsManager.GetNewsItems().FirstOrDefault(n => n.Title == selectedNewsTitles[i] && n.OriginalContentId != Guid.Empty);
            }

            //// SerializedSelectedItemsIds string should appear in the following format: "[\"ca782d6b-9e3d-6f9e-ae78-ff00006062c4\",\"66782d6b-9e3d-6f9e-ae78-ff00006062c4\"]"
            newsController.Model.SerializedSelectedItemsIds =
                "[\"" + selectedNewsItems[0].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[1].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[2].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[3].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[4].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[5].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[6].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[7].Id.ToString() + "\"," +
                "\"" + selectedNewsItems[8].Id.ToString() + "\"]";

            mvcProxy.Settings = new ControllerSettings(newsController);

            this.VerifyCorrectNewsOnPageWithNoLimitsOption(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index, url, selectedNewsTitles);

            newsController.Model.SelectionMode = SelectionMode.AllItems;

            this.VerifyCorrectNewsOnPageWithNoLimitsOption(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index, url, newsNames);
        }
        public void NewsWidget_VerifyDateSelectorCustomRangeOptionNotExisting()
        {
            int newsCount = 0;

            var mvcProxy = new MvcControllerProxy();

            mvcProxy.ControllerName = typeof(NewsController).FullName;
            var newsController = new NewsController();

            newsController.Model.SelectionMode = SelectionMode.FilteredItems;
            newsController.Model.SerializedAdditionalFilters = @"{
            ""QueryItems"":[
	            {
		            ""IsGroup"":true,
		            ""Ordinal"":0,
		            ""Join"":""AND"",
		            ""ItemPath"":""_0"",
		            ""Value"":null,
		            ""Condition"":null,
		            ""Name"":""PublicationDate""
	            },
	            {
		            ""IsGroup"":false,
		            ""Ordinal"":0,
		            ""Join"":""AND"",
		            ""ItemPath"":""_0_0"",
		            ""Value"":""Wed, 22 Oct 2014 21:00:00 GMT"",
		            ""Condition"":
			            {
				            ""FieldName"":""PublicationDate"",
				            ""FieldType"":""System.DateTime"",
				            ""Operator"":"">""
			            },
		            ""Name"":""PublicationDate.Wed, 22 Oct 2014 21:00:00 GMT""
	            },
	            {
		            ""IsGroup"":false,
		            ""Ordinal"":1,
		            ""Join"":""AND"",
		            ""ItemPath"":""_0_1"",
		            ""Value"":""Fri, 24 Oct 2014 21:00:00 GMT"",
		            ""Condition"":
			            {
				            ""FieldName"":""PublicationDate"",
				            ""FieldType"":""System.DateTime"",
				            ""Operator"":""<""
			            },
		            ""Name"":""PublicationDate.Fri, 24 Oct 2014 21:00:00 GMT""
	            }"    ;

            mvcProxy.Settings = new ControllerSettings(newsController);

            var newsItemsCount = newsController.Model.CreateListViewModel(null, 1).Items.Count();

            Assert.AreEqual(newsCount, newsItemsCount, "The count of the news item is not as expected");
        }
        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);
        }
Exemplo n.º 36
0
        public void Login_WithInstantLogin_VerifyLoginRedirectUrlIsCorrect()
        {
            string loginStatusPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
            var absoluteUrl = UrlPath.GetDomainUrl() + "/Sitefinity/Authenticate/SWT";
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(LoginStatusController).FullName;
            var loginStatusController = new LoginStatusController();
            loginStatusController.Model.AllowWindowsStsLogin = true;
            mvcProxy.Settings = new ControllerSettings(loginStatusController);

            this.pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);
            var responseContent = PageInvoker.ExecuteWebRequest(loginStatusPageUrl);
            Assert.IsTrue(responseContent.Contains(this.GetExpectedUrlWithParams(absoluteUrl)), "Login redirect url is not as expected");
        }
        public void VideoGallery_VerifyLimit()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(VideoGalleryController).FullName;
            var videoGalleryController = new VideoGalleryController();
            videoGalleryController.Model.SelectionMode = SelectionMode.AllItems;
            videoGalleryController.Model.DisplayMode = ListDisplayMode.Limit;
            videoGalleryController.Model.SortExpression = "Title ASC";
            videoGalleryController.Model.ItemsPerPage = 1;
            mvcProxy.Settings = new ControllerSettings(videoGalleryController);

            var videos = videoGalleryController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(videos.Length.Equals(1), "Number of Videos is not correct");
            Assert.AreEqual(VideoTitle + 1, videos[0].Fields.Title.Value, "Wrong title");
        }
        public void DocumentsList_VerifyLimit()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(DocumentsListController).FullName;
            var documentsListController = new DocumentsListController();
            documentsListController.Model.SelectionMode = SelectionMode.AllItems;
            documentsListController.Model.DisplayMode = ListDisplayMode.Limit;
            documentsListController.Model.SortExpression = "Title ASC";
            documentsListController.Model.ItemsPerPage = 1;
            mvcProxy.Settings = new ControllerSettings(documentsListController);

            var docs = documentsListController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(docs.Length.Equals(1), "Number of docs is not correct");
            Assert.AreEqual(DocumentTitle + 1, docs[0].Fields.Title.Value, "Wrong title");
        }
        public void UsersList_VerifyLimit()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(UsersListController).FullName;
            var usersListController = new UsersListController();
            usersListController.Model.SelectionMode = SelectionMode.AllItems;
            usersListController.Model.DisplayMode = ListDisplayMode.Limit;
            usersListController.Model.SortExpression = "FirstName ASC";
            usersListController.Model.ItemsPerPage = 1;
            mvcProxy.Settings = new ControllerSettings(usersListController);

            var users = usersListController.Model.CreateListViewModel(1).Items.ToArray();
            Assert.IsTrue(users.Length.Equals(1), "Number of users is not correct");
            Assert.AreEqual(SitefinityAdmin, users[0].Fields.User.UserName, "Wrong username");
        }
Exemplo n.º 40
0
        public void Login_RedirectToExternalPage_VerifyLoginRedirectUrlIsCorrect()
        {
            string loginStatusPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
            string expectedLoginUrl = "www.telerik.com";

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(LoginStatusController).FullName;
            var loginStatusController = new LoginStatusController();
            loginStatusController.Model.ExternalLoginUrl = expectedLoginUrl;
            mvcProxy.Settings = new ControllerSettings(loginStatusController);

            this.pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);
            var responseContent = PageInvoker.ExecuteWebRequest(loginStatusPageUrl);
            Assert.IsTrue(responseContent.Contains(expectedLoginUrl), "Login redirect url is not as expected");
        }
Exemplo n.º 41
0
        protected virtual MvcControllerProxy ResolveMvcDesigner(Type widgetType)
        {
            if (widgetType == null)
                throw new ArgumentNullException("widgetType");

            var store = PowerTools.Instance.Container.Resolve<IMvcDesignerStore>();
            if (!store.MvcDesigners.ContainsKey(widgetType))
                return null;

            var designerControllerType = store.MvcDesigners[widgetType];

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = designerControllerType.FullName;

            return mvcProxy;
        }
        public void ImageGallery_VerifyNoLimit()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ImageGalleryController).FullName;
            var imageGalleryController = new ImageGalleryController();
            imageGalleryController.Model.SelectionMode = SelectionMode.AllItems;
            imageGalleryController.Model.DisplayMode = ListDisplayMode.All;
            imageGalleryController.Model.SortExpression = "Title ASC";
            imageGalleryController.Model.ItemsPerPage = 1;
            mvcProxy.Settings = new ControllerSettings(imageGalleryController);

            var images = imageGalleryController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(images.Length.Equals(3), "Number of images is not correct");
            Assert.AreEqual(ImagetTitle + 1, images[0].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(ImagetTitle + 2, images[1].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(ImagetTitle + 3, images[2].Fields.Title.Value, "Wrong title");
        }
        public void DocumentsList_VerifySortingLastPublished()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(DocumentsListController).FullName;
            var documentsListController = new DocumentsListController();
            documentsListController.Model.SelectionMode = SelectionMode.AllItems;
            documentsListController.Model.SortExpression = "PublicationDate DESC";
            mvcProxy.Settings = new ControllerSettings(documentsListController);

            var docs = documentsListController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(docs.Length.Equals(3), "Number of docs is not correct");

            //// expected: Document2, Document3, Document1
            Assert.AreEqual(DocumentTitle + 2, docs[0].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(DocumentTitle + 3, docs[1].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(DocumentTitle + 1, docs[2].Fields.Title.Value, "Wrong title");
        }
        public void UsersList_VerifySortingFirstNameAZ()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(UsersListController).FullName;
            var usersListController = new UsersListController();
            usersListController.Model.SelectionMode = SelectionMode.AllItems;
            usersListController.Model.SortExpression = "FirstName ASC";
            mvcProxy.Settings = new ControllerSettings(usersListController);

            var users = usersListController.Model.CreateListViewModel(1).Items.ToArray();
            Assert.IsTrue(users.Length.Equals(3), "Number of users is not correct");

            //// expected: Admin Admin, fname lname, test last
            Assert.AreEqual(SitefinityAdmin, users[0].Fields.User.UserName, "Wrong username");
            Assert.AreEqual(AdministratorUserName, users[1].Fields.User.UserName, "Wrong username");
            Assert.AreEqual(AuthorUserName, users[2].Fields.User.UserName, "Wrong username");
        }
        public void ImageGallery_VerifySortingLastPublished()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ImageGalleryController).FullName;
            var imageGalleryController = new ImageGalleryController();
            imageGalleryController.Model.SelectionMode = SelectionMode.AllItems;
            imageGalleryController.Model.SortExpression = "PublicationDate DESC";
            mvcProxy.Settings = new ControllerSettings(imageGalleryController);

            var images = imageGalleryController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(images.Length.Equals(3), "Number of images is not correct");

            //// expected: Image2, Image3, Image1
            Assert.AreEqual(ImageTitle + 2, images[0].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(ImageTitle + 3, images[1].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(ImageTitle + 1, images[2].Fields.Title.Value, "Wrong title");
        }
        public void NewsWidget_SelectListTemplate()
        {
            string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix = testName + "NewsPage";
            string pageTitlePrefix = testName + "News Page";
            string urlNamePrefix = testName + "news-page";
            int pageIndex = 1;
            string textEdited = "<p> Test paragraph </p>";
            string paragraphText = "Test paragraph";
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            string listTemplate = "NewsListNew";
            var listTemplatePath = Path.Combine(this.templateOperation.SfPath, "ResourcePackages", "Bootstrap", "MVC", "Views", "News", "List.NewsList.cshtml");
            var newListTemplatePath = Path.Combine(this.templateOperation.SfPath, "MVC", "Views", "Shared", "List.NewsListNew.cshtml");

            try
            {
                File.Copy(listTemplatePath, newListTemplatePath);

                using (StreamWriter output = File.AppendText(newListTemplatePath))
                {
                    output.WriteLine(textEdited);
                }

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                newsController.ListTemplateName = listTemplate;
                mvcProxy.Settings = new ControllerSettings(newsController);

                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.News().CreateNewsItem(NewsTitle);

                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(paragraphText), "The news with this template was not found!");
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeleteAllPages();
                File.Delete(newListTemplatePath);
            }
        }
        public void NavigationWidgetOnPageTemplate_AllPagesUnderCurrentlyOpenedPage()
        {
            Guid templateId = default(Guid);

            try
            {
                templateId = this.templateOperation.DuplicatePageTemplate(OldTemplateName, TemplateName1);

                string url = UrlPath.ResolveAbsoluteUrl("~/" + UrlNamePrefix);

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NavigationController).FullName;
                var navigationController = new NavigationController();
                navigationController.TemplateName = "Horizontal";
                navigationController.SelectionMode = PageSelectionMode.CurrentPageChildren;
                mvcProxy.Settings = new ControllerSettings(navigationController);

                this.templateOperation.AddControlToTemplate(templateId, mvcProxy, PlaceHolder, CaptionNavigation);
                Guid pageId = this.locationGenerator.CreatePage(PageNamePrefix, PageTitlePrefix, UrlNamePrefix, null, null);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().SetTemplateToPage(pageId, templateId);

                for (int i = 1; i <= 4; i++)
                {
                    Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().CreatePage(SiblingPage + i);
                    Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().CreatePage(PageTitlePrefix + i, Guid.NewGuid(), pageId);
                }

                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(Template), "The page template was not found!");

                for (int i = 1; i <= 4; i++)
                {
                    Assert.IsTrue(responseContent.Contains(PageTitlePrefix + i), "The page with this title was not found!");
                    Assert.IsFalse(responseContent.Contains(SiblingPage + i), "The page with this title was found!");
                }
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeleteAllPages();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates().DeletePageTemplate(templateId);
            }
        }
        public void VideoGallery_VerifySortingLastModified()
        {
            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(VideoGalleryController).FullName;
            var videoGalleryController = new VideoGalleryController();
            videoGalleryController.Model.SelectionMode = SelectionMode.AllItems;
            videoGalleryController.Model.SortExpression = "LastModified DESC";
            mvcProxy.Settings = new ControllerSettings(videoGalleryController);

            this.ChangeModifiedDateOfVideo3();

            var videos = videoGalleryController.Model.CreateListViewModel(null, 1).Items.ToArray();
            Assert.IsTrue(videos.Length.Equals(3), "Number of Videos is not correct");

            //// expected: Video31, Video2, Video1
            Assert.AreEqual(VideoTitle + 3 + 1, videos[0].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(VideoTitle + 2, videos[1].Fields.Title.Value, "Wrong title");
            Assert.AreEqual(VideoTitle + 1, videos[2].Fields.Title.Value, "Wrong title");
        }
        public void NewsWidget_SelectDetailTemplate()
        {
            string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix = testName + "NewsPage";
            string pageTitlePrefix = testName + "News Page";
            string urlNamePrefix = testName + "news-page";
            int pageIndex = 1;
            string textEdited = "<p> Test paragraph </p>";
            string paragraphText = "Test paragraph";
            var newsManager = NewsManager.GetManager();
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            string detailTemplate = "DetailPageNew";
            var detailTemplatePath = Path.Combine(this.templateOperation.SfPath, "ResourcePackages", "Bootstrap", "MVC", "Views", "News", "Detail.DetailPage.cshtml");
            var newDetailTemplatePath = Path.Combine(this.templateOperation.SfPath, "MVC", "Views", "Shared", "Detail.DetailPageNew.cshtml");

            try
            {
                File.Copy(detailTemplatePath, newDetailTemplatePath);
                this.EditFile(newDetailTemplatePath, textEdited);

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                newsController.DetailTemplateName = detailTemplate;
                mvcProxy.Settings = new ControllerSettings(newsController);

                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

                NewsItem newsItem = newsManager.GetNewsItems().Where<NewsItem>(ni => ni.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master && ni.Title == NewsTitleDetail).FirstOrDefault();
                string detailNewsUrl = url + newsItem.ItemDefaultUrl;

                string responseContent = PageInvoker.ExecuteWebRequest(detailNewsUrl);

                Assert.IsTrue(responseContent.Contains(NewsTitleDetail), "The news with this title was not found!");
                Assert.IsTrue(responseContent.Contains(paragraphText), "The news with this template was not found!");
            }
            finally
            {
                File.Delete(newDetailTemplatePath);
            }
        }
        public void ContentBlockWidget_AddTableToContentBlock()
        {
            string pageNamePrefix = "ContentBlockPage";
            string pageTitlePrefix = "Content Block";
            string urlNamePrefix = "content-block";
            int pageIndex = 1;
            string contentBlockContent = "<table><tbody><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></tbody></table>";
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();
            contentBlockController.Content = contentBlockContent;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);
            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(contentBlockContent), "Table was not found!");
        }
        public void ContentBlockWidget_FormatContentViaAlignTextLeftFunctionalityToContentBlock()
        {
            string pageNamePrefix = "ContentBlockPage";
            string pageTitlePrefix = "Content Block";
            string urlNamePrefix = "content-block";
            int pageIndex = 1;
            string contentBlockContent = "<div style=\"text-align:left;\">Align text left</div>";
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();
            contentBlockController.Content = contentBlockContent;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);
            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(contentBlockContent), "Content was not aligned left!");
        }
        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 SearchResultsWidget_DefaultLanguage_Limit_OldestOrder()
        {
            Guid searchIndex1Id = Guid.Empty;

            try
            {
                searchIndex1Id = SitefinityOperations.ServerOperations.Search().CreateSearchIndex(SearchResultsWidgetTests.SearchIndexName, new[] { SitefinityOperations.SearchContentType.Pages, SitefinityOperations.SearchContentType.News });
                SitefinityOperations.ServerOperations.Search().Reindex(searchIndex1Id);

                int index = 1;
                string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name;
                string pageNamePrefix = testName + "NewsPage" + index;
                string pageTitlePrefix = testName + "NewsPage" + index;
                string urlNamePrefix = testName + "news-page" + index;

                string orderBy = "Oldest";
                var searchResultsController = new SearchResultsController();
                searchResultsController.Model.DisplayMode = Telerik.Sitefinity.Frontend.Search.Mvc.Models.ListDisplayMode.Limit;
                searchResultsController.Model.ItemsPerPage = 2;
                int expectedResultsCount = 2;

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(NewsController).FullName;
                var newsController = new NewsController();
                mvcProxy.Settings = new ControllerSettings(newsController);

                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

                searchResultsController.Index(null, SearchResultsWidgetTests.NewsTitle, SearchResultsWidgetTests.SearchIndexName, null, null, orderBy);

                //// ignored because total count of returned results is 5 instead of 2
                Assert.AreEqual(expectedResultsCount, searchResultsController.Model.Results.TotalCount);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "1", searchResultsController.Model.Results.Data[0].GetValue("Title"));
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "2", searchResultsController.Model.Results.Data[1].GetValue("Title"));
            }
            finally
            {
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Search().DeleteAllIndexes();
            }
        }
        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!");
            }
        }
Exemplo n.º 55
0
        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 NewsWidget_SocialShareButtonsFunctionality()
        {
            string socialShare = "list-inline sf-social-share";
            string testName = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix = testName + "NewsPage" + Guid.NewGuid();
            string pageTitlePrefix = testName + "NewsPage" + Guid.NewGuid();
            string urlNamePrefix = testName + "news-page" + Guid.NewGuid();
            int index = 1;
            var newsManager = NewsManager.GetManager();
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index);

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(NewsController).FullName;
            var newsController = new NewsController();
            newsController.Model.EnableSocialSharing = true;
            mvcProxy.Settings = new ControllerSettings(newsController);

            try
            {
                this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.News().CreateNewsItem(NewsTitle);

                NewsItem newsItem = newsManager.GetNewsItems().Where<NewsItem>(ni => ni.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master && ni.Title == NewsTitle).FirstOrDefault();

                string detailNewsUrl = url + newsItem.ItemDefaultUrl;

                string responseContent = PageInvoker.ExecuteWebRequest(detailNewsUrl);

                Assert.IsTrue(responseContent.Contains(socialShare), "Social share button was not found!");
                Assert.IsTrue(responseContent.Contains(NewsTitle), "The news with this title was not found!");
            }
            finally
            {
                this.pageOperations.DeletePages();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.News().DeleteAllNews();
            }
        }
Exemplo n.º 57
0
        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);
                }
            }
        }
        private void VerifyCorrectItemsOnPages(MvcControllerProxy mvcProxy, string pageNamePrefix, string pageTitlePrefix, string urlNamePrefix, int index, string url, string url2, string url3, string[] selectedDynamicTitles)
        {
            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, index);

            string responseContent = PageInvoker.ExecuteWebRequest(url);
            string responseContent2 = PageInvoker.ExecuteWebRequest(url2);
            string responseContent3 = PageInvoker.ExecuteWebRequest(url3);

            for (int i = 0; i < selectedDynamicTitles.Count(); i++)
            {
                if (i <= 2)
                {
                    Assert.IsTrue(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
                else if (i > 2 && i <= selectedDynamicTitles.Count() - 4)
                {
                    Assert.IsTrue(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
                else
                {
                    Assert.IsTrue(responseContent3.Contains(selectedDynamicTitles[i]), "The items with this title was not found!");
                    Assert.IsFalse(responseContent.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                    Assert.IsFalse(responseContent2.Contains(selectedDynamicTitles[i]), "The items with this title was found!");
                }
            }
        }
Exemplo n.º 59
0
        public void ContentBlockWidget_SocialShareButtonsFunctionality()
        {
            string pageNamePrefix = "ContentBlockPage";
            string pageTitlePrefix = "Content Block";
            string urlNamePrefix = "content-block";
            int pageIndex = 1;
            string url = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);
            string socialShare = "list-inline sf-social-share";

            var mvcProxy = new MvcControllerProxy();
            mvcProxy.ControllerName = typeof(ContentBlockController).FullName;
            var contentBlockController = new ContentBlockController();
            contentBlockController.Content = ContentBlockContent;
            contentBlockController.EnableSocialSharing = true;
            mvcProxy.Settings = new ControllerSettings(contentBlockController);

            this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, pageIndex);

            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsTrue(responseContent.Contains(socialShare), "Social share button was not found!");
        }
Exemplo n.º 60
0
        public void Login_WithPageId_VerifyLoginRedirectUrlIsCorrect()
        {
            string loginStatusPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix + this.pageIndex);
            var basicPageOperations = new Telerik.Sitefinity.TestUtilities.CommonOperations.PagesOperations();
            var pageTitle = "Page Title1";
            var pageUrl = "PageTitle1";
            var absoluteUrl = UrlPath.GetDomainUrl() + "/" + pageUrl;
            try
            {
                var loginPageId = basicPageOperations.CreatePage(pageTitle, pageUrl);

                var mvcProxy = new MvcControllerProxy();
                mvcProxy.ControllerName = typeof(LoginStatusController).FullName;
                var loginStatusController = new LoginStatusController();
                loginStatusController.Model.LoginPageId = loginPageId;
                mvcProxy.Settings = new ControllerSettings(loginStatusController);

                this.pageOperations.CreatePageWithControl(mvcProxy, this.pageNamePrefix, this.pageTitlePrefix, this.urlNamePrefix, this.pageIndex);
                var responseContent = PageInvoker.ExecuteWebRequest(loginStatusPageUrl);
                Assert.IsTrue(responseContent.Contains(this.GetExpectedUrlWithParams(absoluteUrl)), "Login redirect url is not as expected");
            }
            finally
            {
                basicPageOperations.DeleteAllPages();
            }
        }