Ejemplo n.º 1
0
        public void DynamicWidgets_ChildWidget_DisplayHotelsFromCurrentlyOpenedCityWithoutCityWidget()
        {
            string hotelSuff;
            string citySuff;
            string url;
            string responseContent;

            try
            {
                var hotelsWidget = this.CreateMvcWidget(ResolveTypeHotel, WidgetNameHotels, ParentFilterMode.CurrentlyOpen, ResolveTypeCity);
                var controls     = new List <System.Web.UI.Control>();
                controls.Add(hotelsWidget);

                PageContentGenerator.AddControlsToPage(this.pageId, controls);

                for (int i = 1; i <= 3; i++)
                {
                    citySuff        = i.ToString(CultureInfo.InvariantCulture);
                    url             = UrlPath.ResolveAbsoluteUrl("~/" + PageName + "/country1/country1city" + citySuff);
                    responseContent = PageInvoker.ExecuteWebRequest(url);

                    for (int j = 1; j <= 3; j++)
                    {
                        hotelSuff = j.ToString(CultureInfo.InvariantCulture);
                        Assert.IsTrue(responseContent.Contains("Country1City" + citySuff + "Hotel" + hotelSuff), "The dynamic item with this title was NOT found: Country1City" + citySuff + "Hotel" + hotelSuff);
                    }
                }
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
            }
        }
Ejemplo n.º 2
0
        public void DynamicWidgets_HierarchicalWidgetsOnPage_DisplayHotelsFromCurrentlyOpenedCity()
        {
            string url;
            string responseContent;
            string suff;

            try
            {
                var countriesWidget = this.CreateMvcWidget(ResolveTypeCountry, WidgetNameCountries);
                var citiesWidget    = this.CreateMvcWidget(ResolveTypeCity, WidgetNameCities, ParentFilterMode.CurrentlyOpen, ResolveTypeCountry);
                var hotelsWidget    = this.CreateMvcWidget(ResolveTypeHotel, WidgetNameHotels, ParentFilterMode.CurrentlyOpen, ResolveTypeCity);

                var controls = new List <System.Web.UI.Control>();
                controls.Add(countriesWidget);
                controls.Add(citiesWidget);
                controls.Add(hotelsWidget);

                PageContentGenerator.AddControlsToPage(this.pageId, controls);

                url             = UrlPath.ResolveAbsoluteUrl("~/" + PageName + "/country1/country1city1");
                responseContent = PageInvoker.ExecuteWebRequest(url);

                for (int i = 1; i <= 3; i++)
                {
                    suff = i.ToString(CultureInfo.InvariantCulture);

                    Assert.IsTrue(responseContent.Contains("Country1City1Hotel" + suff), "The dynamic item with this title was NOT found: Country1City1Hotel" + suff);
                    Assert.IsFalse(responseContent.Contains("Country1City2Hotel" + suff), "The dynamic item with this title was found: Country1City2Hotel" + suff);
                    Assert.IsFalse(responseContent.Contains("Country1City3Hotel" + suff), "The dynamic item with this title was found: Country1City3Hotel" + suff);
                }

                url             = UrlPath.ResolveAbsoluteUrl("~/" + PageName + "/country1/country1city2");
                responseContent = PageInvoker.ExecuteWebRequest(url);

                for (int i = 1; i <= 3; i++)
                {
                    suff = i.ToString(CultureInfo.InvariantCulture);

                    Assert.IsTrue(responseContent.Contains("Country1City2Hotel" + suff), "The dynamic item with this title was NOT found: Country1City2Hotel" + suff);
                    Assert.IsFalse(responseContent.Contains("Country1City1Hotel" + suff), "The dynamic item with this title was found: Country1City1Hotel" + suff);
                    Assert.IsFalse(responseContent.Contains("Country1City3Hotel" + suff), "The dynamic item with this title was found: Country1City3Hotel" + suff);
                }

                url             = UrlPath.ResolveAbsoluteUrl("~/" + PageName + "/country2/country2city2");
                responseContent = PageInvoker.ExecuteWebRequest(url);

                for (int i = 1; i <= 3; i++)
                {
                    suff = i.ToString(CultureInfo.InvariantCulture);

                    Assert.IsFalse(responseContent.Contains("Country2City1Hotel" + suff), "The dynamic item with this title was found: Country2City1Hotel" + suff);
                    Assert.IsTrue(responseContent.Contains("Country2City2Hotel" + suff), "The dynamic item with this title was NOT found: Country2City2Hotel" + suff);
                    Assert.IsFalse(responseContent.Contains("Country2City3Hotel" + suff), "The dynamic item with this title was found: Country2City3Hotel" + suff);
                }
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
            }
        }
Ejemplo n.º 3
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);
        }
        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 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_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 EventWidget_VerifyOpenSingleItemInSamePage()
        {
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "EventsPage";
            string pageTitlePrefix = testName + "Events Page";
            string urlNamePrefix   = testName + "events-page";
            int    pageIndex       = 1;
            string pageUrl         = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + pageIndex);

            var mvcProxy = new MvcControllerProxy();

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

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

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

            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 = pageUrl + expectedDetailEvent.ItemDefaultUrl;

            string responseContent = PageInvoker.ExecuteWebRequest(pageUrl);

            Assert.IsTrue(responseContent.Contains(expectedDetailEventUrl), "The expected details event url 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!");
        }
Ejemplo n.º 9
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!");
                }
            }
        }
Ejemplo n.º 10
0
        public void BlogsWidget_DisplayBlogsWithMoreThan_0_Posts()
        {
            string blog1Title     = "Blog1";
            string blog2Title     = "Blog2";
            string pageTitle      = "PageWithBlogsWidget";
            string blog1PostTitle = "Blog1_PublishedPost";

            try
            {
                Guid blog1Id = ServerOperations.Blogs().CreateBlog(blog1Title);
                ServerOperations.Blogs().CreatePublishedBlogPost(blog1PostTitle, blog1Id);

                ServerOperations.Blogs().CreateBlog(blog2Title);

                Guid pageId = ServerOperations.Pages().CreatePage(pageTitle);

                var blogsWidget = this.CreateBlogsMvcWidgetFilteredSelectionMode(FilteredSelectionMode.MinPostsCount, minPostsCount: 0, maxPostsAge: 1);

                var controls = new List <System.Web.UI.Control>();
                controls.Add(blogsWidget);

                PageContentGenerator.AddControlsToPage(pageId, controls);

                string url             = UrlPath.ResolveAbsoluteUrl("~/" + pageTitle);
                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(blog1Title), "The item with this title was NOT found " + blog1Title);
                Assert.IsFalse(responseContent.Contains(blog2Title), "The item with this title WAS found " + blog2Title);
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
                ServerOperations.Blogs().DeleteAllBlogs();
            }
        }
        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();
            }
        }
Ejemplo n.º 12
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();
            }
        }
Ejemplo n.º 13
0
        public void BlogPostsWidget_DisplaySelectedBlogPosts()
        {
            string blogTitle      = "Blog";
            string blogPost1Title = "BlogPost1";
            string blogPost2Title = "BlogPost2";
            string pageTitle      = "PageWithBlogPostsWidget";

            try
            {
                Guid blogId  = ServerOperations.Blogs().CreateBlog(blogTitle);
                Guid post1Id = ServerOperations.Blogs().CreatePublishedBlogPost(blogPost1Title, blogId);

                Guid pageId = ServerOperations.Pages().CreatePage(pageTitle);

                var blogPostsWidget = this.CreateBlogPostsMvcWidget(default(Guid), ParentFilterMode.All, SelectionMode.SelectedItems, post1Id);

                var controls = new List <System.Web.UI.Control>();
                controls.Add(blogPostsWidget);

                PageContentGenerator.AddControlsToPage(pageId, controls);

                string url             = UrlPath.ResolveAbsoluteUrl("~/" + pageTitle);
                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(blogPost1Title), "The item with this title was NOT found " + blogPost1Title);
                Assert.IsFalse(responseContent.Contains(blogPost2Title), "The item with this title WAS found " + blogPost2Title);
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
                ServerOperations.Blogs().DeleteAllBlogs();
            }
        }
Ejemplo n.º 14
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.");
            }
        }
Ejemplo n.º 15
0
        public void PostForm_Login_PostsItselfOnly()
        {
            this.pageOperations = new PagesOperations();
            var    pageManager      = PageManager.GetManager();
            Guid   pageId           = Guid.Empty;
            string loginFormPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + this.urlNamePrefix);

            try
            {
                var template = pageManager.GetTemplates().Where(t => t.Name == this.templateName).FirstOrDefault();
                Assert.IsNotNull(template, "Template was not found");

                pageId = Telerik.Sitefinity.Frontend.TestUtilities.CommonOperations.FeatherServerOperations.Pages().CreatePageWithTemplate(template, this.pageNamePrefix, this.urlNamePrefix);
                this.pageOperations.AddLoginFormWidgetToPage(pageId, "Contentplaceholder1");

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

                var expectedActionUrl = "?sf_cntrl_id=";
                Assert.IsTrue(responseContent.Contains(string.Format("action=\"{0}", expectedActionUrl)), "The action URL doesn't contain controller ID.");
            }
            finally
            {
                SitefinityTestUtilities.ServerOperations.Users().AuthenticateAdminUser();
                var pageNode = pageManager.GetPageNodes().Where(p => p.Id == pageId).SingleOrDefault();
                if (pageNode != null)
                {
                    pageManager.Delete(pageNode);
                    pageManager.SaveChanges();
                }
            }
        }
Ejemplo n.º 16
0
        public void SpacedTitleFlatTaxonomy_DynamicContentWidget()
        {
            var pageId = Guid.Empty;

            try
            {
                string dynamicTitle = "dynamic type title";
                string dynamicUrl   = "dynamic-type-url";

                var flatTaxonomyName          = Regex.Replace(FlatTaxonomyTitle, " ", string.Empty);
                var dynamicModulePressArticle = ServerOperationsFeather.DynamicModulePressArticle();
                dynamicModulePressArticle.CreatePressArticleWithCustomTaxonomy(dynamicTitle, dynamicUrl, flatTaxonomyName, this.flatTaxaNames);

                var index     = 1;
                var mvcWidget = this.CreateDynamicMvcWidget();
                pageId = this.pagesOperations.CreatePageWithControl(mvcWidget, PageName, PageName, PageUrl, index);

                string url     = UrlPath.ResolveAbsoluteUrl("~/" + PageUrl + index);
                var    article = dynamicModulePressArticle.RetrieveCollectionOfPressArticles().FirstOrDefault(content => content.UrlName == dynamicUrl);
                Assert.IsNotNull(article);
                string detailsUrl      = url + article.ItemDefaultUrl;
                string responseContent = PageInvoker.ExecuteWebRequest(detailsUrl);

                Assert.IsNotNull(responseContent);
                Assert.IsTrue(responseContent.Contains(this.flatTaxaNames[0]), "The taxon with specified spaced taxonomy title was not found!");
                Assert.IsTrue(responseContent.Contains(this.flatTaxaNames[1]), "The taxon with specified spaced taxonomy title was not found!");
            }
            finally
            {
                if (pageId != Guid.Empty)
                {
                    CommonOperationsContext.ServerOperations.Pages().DeletePage(pageId);
                }
            }
        }
        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!");
        }
        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);
        }
Ejemplo n.º 19
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();
            }
        }
Ejemplo n.º 20
0
        public void FlatTaxonomy_DoNotShowCount()
        {
            this.CreateTestData();

            var mvcProxy = new MvcWidgetProxy();

            mvcProxy.ControllerName = typeof(FlatTaxonomyController).FullName;
            var flatTaxonomyController = new FlatTaxonomyController();

            flatTaxonomyController.Model.ShowItemCount = false;
            mvcProxy.Settings = new ControllerSettings(flatTaxonomyController);

            var index = 1;

            this.pagesOperations.CreatePageWithControl(mvcProxy, PageName, PageName, PageUrl, index);

            string url             = UrlPath.ResolveAbsoluteUrl("~/" + PageUrl + index);
            string responseContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsNotNull(responseContent);

            var urlPrefix    = PageUrl + index + "/-in-tags/tags/";
            var expectedTags = new List <Tag>()
            {
                new Tag(this.taxaNames[0], urlPrefix + this.taxaNames[0], 2),
                new Tag(this.taxaNames[1], urlPrefix + this.taxaNames[1], 1),
            };

            var notExpectedTags = new List <Tag>()
            {
                new Tag(this.taxaNames[2], urlPrefix + this.taxaNames[2], 0),
            };

            this.AssertTagsLinks(responseContent, expectedTags, notExpectedTags, flatTaxonomyController.Model.ShowItemCount);
        }
        public void DynamicWidgetsDesignerSingleItemSettingsTests_SetDetailTemplate()
        {
            string detailTemplate = "PressArticleNew";
            string paragraphText  = "Detail template";

            this.pageOperations = new PagesOperations();
            string testName        = System.Reflection.MethodInfo.GetCurrentMethod().Name;
            string pageNamePrefix  = testName + "DynamicPage";
            string pageTitlePrefix = testName + "Dynamic Page";
            string urlNamePrefix   = testName + "dynamic-page";
            int    index           = 1;
            string url             = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + index);

            string fileDeatil = null;
            string fileList   = null;

            var dynamicCollection = ServerOperationsFeather.DynamicModulePressArticle().RetrieveCollectionOfPressArticles();

            try
            {
                fileDeatil = this.CopyFile(DynamicFileName, DynamicFileFileResource);
                fileList   = this.CopyFile(DynamicFileListName, DynamicFileListFileResource);

                for (int i = 0; i < this.dynamicTitles.Length; i++)
                {
                    ServerOperationsFeather.DynamicModulePressArticle().CreatePressArticleItem(this.dynamicTitles[i], this.dynamicUrls[i]);
                }

                dynamicCollection = ServerOperationsFeather.DynamicModulePressArticle().RetrieveCollectionOfPressArticles();

                var mvcProxy = new MvcWidgetProxy();
                mvcProxy.ControllerName = typeof(DynamicContentController).FullName;
                var dynamicController = new DynamicContentController();
                dynamicController.Model.ContentType  = TypeResolutionService.ResolveType(ResolveType);
                dynamicController.Model.ProviderName = ((Telerik.Sitefinity.Data.DataProviderBase)dynamicCollection.First().Provider).Name;
                dynamicController.ListTemplateName   = detailTemplate;
                dynamicController.DetailTemplateName = detailTemplate;
                mvcProxy.Settings   = new ControllerSettings(dynamicController);
                mvcProxy.WidgetName = WidgetName;

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

                string detailNewsUrl   = url + dynamicCollection[0].ItemDefaultUrl;
                string responseContent = PageInvoker.ExecuteWebRequest(detailNewsUrl);

                Assert.IsTrue(responseContent.Contains(paragraphText), "The paragraph text was not found!");

                Assert.IsTrue(responseContent.Contains(this.dynamicTitles[0]), "The dynamic item with this title was not found!");
                Assert.IsFalse(responseContent.Contains(this.dynamicTitles[1]), "The dynamic item with this title was found!");
                Assert.IsFalse(responseContent.Contains(this.dynamicTitles[2]), "The dynamic item with this title was found!");
            }
            finally
            {
                File.Delete(fileDeatil);
                File.Delete(fileList);
                Directory.Delete(this.folderPath);
                this.pageOperations.DeletePages();
                ServerOperationsFeather.DynamicModulePressArticle().DeleteDynamicItems(dynamicCollection);
            }
        }
        public void DeactivatingFeather_WidgetOnPurePage_VerifyFrontendAndBackend()
        {
            var  moduleOperations = new Telerik.Sitefinity.Frontend.TestUtilities.CommonOperations.FeatherModuleOperations();
            Guid pageId           = Guid.Empty;

            moduleOperations.EnsureFeatherEnabled();

            try
            {
                string pageUrl;
                pageId = this.CreatePageWithControl(PageTemplateFramework.Mvc, out pageUrl);

                var pageContentBeforeDeactivate = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendUncacheUrl());
                Assert.IsTrue(pageContentBeforeDeactivate.Contains(ModuleUnloadTests.PageControlContent), "Content was not found!");

                var pageContentBeforeDeactivateInEdit = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendEditUrl());
                Assert.IsTrue(pageContentBeforeDeactivateInEdit.Contains(ModuleUnloadTests.PageControlContent), "Content was not found!");
                Assert.IsFalse(pageContentBeforeDeactivateInEdit.Contains(ModuleUnloadTests.WidgetUnavailableMessage), "Error message is displayed in zone editor!");

                this.UnlockPage(pageId);
                moduleOperations.DeactivateFeather();

                var pageContentAfterDeactivate = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendUncacheUrl());
                Assert.IsFalse(pageContentAfterDeactivate.Contains(ModuleUnloadTests.PageControlContent), "Content was found after deactivate!");

                var pageContentAfterDeactivateInEdit = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendEditUrl());
                Assert.IsFalse(pageContentAfterDeactivateInEdit.Contains(ModuleUnloadTests.PageControlContent), "Content was found after deactivate!");
                Assert.IsTrue(pageContentAfterDeactivateInEdit.Contains(ModuleUnloadTests.WidgetUnavailableMessage), "Error message is not displayed in zone editor!");
            }
            finally
            {
                moduleOperations.ActivateFeather();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeletePage(pageId);
            }
        }
Ejemplo n.º 23
0
        public void LanguageSelectorWidgetAndProductList_CurrentLanguageIncluded()
        {
            var languageSelectorControl = this.CreateLanguageSelectorControl();
            var languageSelectorModel   = languageSelectorControl.Settings.Controller.Model;

            languageSelectorControl.Settings.Controller.TemplateName = "DropDownMenu";
            languageSelectorModel.IncludeCurrentLanguage             = true;
            this.productOperations.CreatePublishedProduct(ProductTypeName, true, ProductName, ProductPrice);

            var controls = new List <System.Web.UI.Control>();

            controls.Add(languageSelectorControl);

            var pageLanguages = new[]
            {
                this.sitefinityLanguages["English"]
            };

            var createdPages = this.CreateLocalizedPage(PageName, pageLanguages);

            // Add language selector widget to the en-US page
            var currentPage = createdPages.First();

            PageContentGenerator.AddControlsToPage(currentPage.Key, controls);
            ServerOperations.Widgets().AddProductListViewWithTemplate(currentPage.Key, EcommerceGlobals.placeholderId, EcommerceGlobals.captionProducts, ControlTypes.ProductDetailLayoutTemplateName, showWishlist: true);

            string url         = UrlPath.ResolveAbsoluteUrl("~/" + PageName + currentPage.Value.Name);
            var    pageContent = PageInvoker.ExecuteWebRequest(url);

            Assert.IsNotNull(pageContent);
        }
        public void UninstallFeather_WidgetsInToolboxPurePageTemplate_VerifyBackend()
        {
            var  moduleOperations    = Telerik.Sitefinity.Frontend.TestUtilities.CommonOperations.FeatherServerOperations.FeatherModule();
            var  templatesOperations = Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Templates();
            Guid templateId          = Guid.Empty;

            moduleOperations.EnsureFeatherEnabled();

            try
            {
                templateId = templatesOperations.CreatePureMVCPageTemplate(ModuleUnloadTests.PageTemplateTitle + Guid.NewGuid().ToString("N"));
                string templateUrl = UrlPath.ResolveAbsoluteUrl(ModuleUnloadTests.SitefinityTemplateRoutePrefix + templateId.ToString());

                var templateContentBeforeDeactivate = PageInvoker.ExecuteWebRequest(templateUrl + this.AppendUncacheUrl());
                Assert.IsTrue(templateContentBeforeDeactivate.Contains(ModuleUnloadTests.FeatherWidgetToolboxItemMarkup));

                moduleOperations.DeactivateFeather();
                moduleOperations.UninstallFeather();

                var templateContentAfterDeactivate = PageInvoker.ExecuteWebRequest(templateUrl + this.AppendUncacheUrl());
                Assert.IsFalse(templateContentAfterDeactivate.Contains(ModuleUnloadTests.FeatherWidgetToolboxItemMarkup));
            }
            finally
            {
                moduleOperations.InstallFeather();
                templatesOperations.DeletePageTemplate(templateId);
            }
        }
        public void UninstallFeather_WidgetsInToolboxPurePage_VerifyBackend()
        {
            var  moduleOperations = Telerik.Sitefinity.Frontend.TestUtilities.CommonOperations.FeatherServerOperations.FeatherModule();
            Guid pageId           = Guid.Empty;

            moduleOperations.EnsureFeatherEnabled();

            try
            {
                string pageUrl;
                pageId = this.CreatePage(PageTemplateFramework.Mvc, out pageUrl);

                var pageContentBeforeDeactivate = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendEditUrl());
                Assert.IsTrue(pageContentBeforeDeactivate.Contains(ModuleUnloadTests.FeatherWidgetToolboxItemMarkup));

                moduleOperations.DeactivateFeather();
                moduleOperations.UninstallFeather();

                var pageContentAfterDeactivate = PageInvoker.ExecuteWebRequest(pageUrl + this.AppendEditUrl());
                Assert.IsFalse(pageContentAfterDeactivate.Contains(ModuleUnloadTests.FeatherWidgetToolboxItemMarkup));
            }
            finally
            {
                moduleOperations.InstallFeather();
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Pages().DeletePage(pageId);
            }
        }
        public void BlogsWidget_UseLimit_OneItem()
        {
            string blog1Title = "Blog1";
            string blog2Title = "Blog2";
            string pageTitle  = "PageWithBlogsWidget";

            try
            {
                ServerOperations.Blogs().CreateBlog(blog1Title);
                ServerOperations.Blogs().CreateBlog(blog2Title);

                Guid pageId = ServerOperations.Pages().CreatePage(pageTitle);

                var blogsWidget = this.CreateBlogsMvcWidget(ListDisplayMode.Limit, itemsPerPage: 1);

                var controls = new List <System.Web.UI.Control>();
                controls.Add(blogsWidget);

                PageContentGenerator.AddControlsToPage(pageId, controls);

                string url             = UrlPath.ResolveAbsoluteUrl("~/" + pageTitle);
                string responseContent = PageInvoker.ExecuteWebRequest(url);

                Assert.IsTrue(responseContent.Contains(blog2Title), "The item with this title was NOT found " + blog2Title);
                Assert.IsFalse(responseContent.Contains(blog1Title), "The item with this title WAS found " + blog1Title);
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
                ServerOperations.Blogs().DeleteAllBlogs();
            }
        }
Ejemplo n.º 27
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();
            }
        }
Ejemplo n.º 28
0
        public void DynamicWidgets_ParentRelationType_DisplayRelatedItemsOnFrontend()
        {
            string url;
            string responseContent;
            string expectedContent;
            string pageName = "FeatherPage";
            string pageUrl  = "featherpage";
            string item1    = "item1";
            string item2    = "item2";

            foreach (var color in this.colors)
            {
                ServerOperationsFeather.DynamicModule1Operations().CreateColor(color);
            }

            try
            {
                string[] item1RelatedColors = new string[] { this.colors[0], this.colors[1] };

                ServerOperationsFeather.DynamicModule2Operations().CreateItem(item1, item1RelatedColors);

                string[] item2RelatedColors = new string[] { this.colors[2], this.colors[3] };

                ServerOperationsFeather.DynamicModule2Operations().CreateItem(item2, item2RelatedColors);

                this.pageId = ServerOperations.Pages().CreatePage(pageName);

                var itemsWidget  = this.CreateMvcWidget(ResolveTypeItem, WidgetNameItem, RelatedFieldName, ResolveTypeColor, RelationDirection.Parent);
                var colorsWidget = this.CreateMvcWidget(ResolveTypeColor, WidgetNameColor);

                var controls = new List <System.Web.UI.Control>();
                controls.Add(itemsWidget);
                controls.Add(colorsWidget);

                PageContentGenerator.AddControlsToPage(this.pageId, controls);

                url             = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + this.colors[0]);
                responseContent = PageInvoker.ExecuteWebRequest(url);

                expectedContent = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + item1);
                Assert.IsTrue(this.ContainsElement(responseContent, expectedContent), "Link to " + item1 + " was not found on the frontend");

                expectedContent = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + item2);
                Assert.IsFalse(this.ContainsElement(responseContent, expectedContent), "Link to " + item2 + " was found on the frontend, but it shouldn't");

                url             = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + this.colors[3]);
                responseContent = PageInvoker.ExecuteWebRequest(url);

                expectedContent = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + item2);
                Assert.IsTrue(this.ContainsElement(responseContent, expectedContent), "Link to " + item2 + " was not found on the frontend");

                expectedContent = UrlPath.ResolveAbsoluteUrl("~/" + pageUrl + "/" + item1);
                Assert.IsFalse(this.ContainsElement(responseContent, expectedContent), "Link to " + item1 + " was found on the frontend, but it shouldn't");
            }
            finally
            {
                ServerOperations.Pages().DeleteAllPages();
            }
        }
Ejemplo n.º 29
0
        public void Status_TestRouting_Available()
        {
            string statusUrl       = UrlPath.ResolveAbsoluteUrl("~/rest-api/login-status");
            var    responseContent = PageInvoker.ExecuteWebRequest(statusUrl);
            var    statusResponse  = Json.Decode(responseContent, typeof(StatusViewModel));

            Assert.IsTrue(statusResponse.IsLoggedIn);
        }
Ejemplo n.º 30
0
        public void Status_TestRouting_Available()
        {
            HttpContext.Current.Request.Headers["Authorization"] = string.Empty;
            string statusUrl       = UrlPath.ResolveAbsoluteUrl("~/rest-api/login-status");
            var    responseContent = PageInvoker.ExecuteWebRequest(statusUrl);
            var    statusResponse  = Json.Decode(responseContent, typeof(StatusViewModel));

            Assert.IsFalse(statusResponse.IsLoggedIn);
        }