Exemple #1
0
        public void CallResultsAction_WithoutParams_EnsureTheModelIsProperlyCreated()
        {
            using (new ObjectFactoryContainerRegion())
            {
                ObjectFactory.Container.RegisterType <ConfigManager, ConfigManager>(typeof(XmlConfigProvider).Name.ToUpperInvariant(), new InjectionConstructor(typeof(XmlConfigProvider).Name));
                ObjectFactory.Container.RegisterType <XmlConfigProvider, DummyConfigProvider>();
                ObjectFactory.Container.RegisterType <IRelatedDataResolver, DummyRelatedDataResolver>();
                ObjectFactory.Container.RegisterType <IModuleBuilderProxy, DummyModuleBuilderProxy>();
                Config.RegisterSection <ResourcesConfig>();
                Config.RegisterSection <SearchConfig>();
                Config.RegisterSection <ProjectConfig>();

                // Arrange
                using (var controller = new SearchResultsController())
                {
                    var context =
                        new HttpContextWrapper(
                            new HttpContext(
                                new HttpRequest(null, "http://tempuri.org", "package=testPackageName"),
                                new HttpResponse(null)));

                    // Act
                    JsonResult jsonResult = null;
                    SystemManager.RunWithHttpContext(context, () => { jsonResult = controller.Results() as JsonResult; });

                    // Asserts
                    Assert.IsNotNull(jsonResult, "No results are displayed.");
                    var resultModel = jsonResult.Data as ResultModel;
                    Assert.AreEqual(0, resultModel.TotalCount, "No items are found");
                    Assert.AreEqual(0, resultModel.Data.Count, "The results collection is empty");
                }
            }
        }
        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();
            }
        }
Exemple #3
0
        public void SearchResultsWidget_DefaultLanguage_FilteringByPermissions_Paging_OldestOrder()
        {
            Guid searchIndex1Id = Guid.Empty;

            try
            {
                var newsManager = NewsManager.GetManager();
                searchIndex1Id = SitefinityOperations.ServerOperations.Search().CreateIndex(this.searchIndexName, new[] { SitefinityOperations.SearchContentType.News });
                SitefinityOperations.ServerOperations.Search().SetFilterByViewPermissions(true);

                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;

                var newsItem = newsManager.GetNewsItems().Where(p => p.Title == SearchResultsWidgetTests.NewsTitle + "1" && p.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Master).FirstOrDefault();
                this.BreakPermissions <NewsItem>(newsItem.Id);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.ContentItems().PublishNewsItem(newsItem.Id);

                string orderBy = "Oldest";
                var    searchResultsController = new SearchResultsController();
                searchResultsController.Model.DisplayMode  = Telerik.Sitefinity.Frontend.Search.Mvc.Models.ListDisplayMode.Paging;
                searchResultsController.Model.ItemsPerPage = 2;
                int expectedPagesCount = 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);

                SitefinityOperations.ServerOperations.Search().Reindex(searchIndex1Id);

                SecurityManager.Logout();

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

                Assert.AreEqual(expectedPagesCount, searchResultsController.Model.TotalPagesCount);

                searchResultsController.Index(1, SearchResultsWidgetTests.NewsTitle, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "2", searchResultsController.Model.Results.Data[0].GetValue("Title"));
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "3", searchResultsController.Model.Results.Data[1].GetValue("Title"));

                searchResultsController.Index(2, SearchResultsWidgetTests.NewsTitle, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "4", searchResultsController.Model.Results.Data[0].GetValue("Title"));
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "5", searchResultsController.Model.Results.Data[1].GetValue("Title"));
            }
            finally
            {
                SitefinityOperations.AuthenticationHelper.AuthenticateUser(AdminUserName, AdminPass, true);
                Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Search().DeleteAllIndexes();
                SitefinityOperations.ServerOperations.Search().SetFilterByViewPermissions(false);
            }
        }
Exemple #4
0
        public void CallIndexAction_WithoutParams_EnsureTheModelIsProperlyCreated()
        {
            // Arrange
            using (var controller = new SearchResultsController())
            {
                // Act
                var view = controller.Index(null);

                // Asserts
                Assert.IsNull(view, "No results are displayed.");
            }
        }
Exemple #5
0
        public void SearchResultsWidget_DefaultLanguage_Paging_OldestOrder()
        {
            Guid searchIndex1Id = Guid.Empty;

            try
            {
                searchIndex1Id = SitefinityOperations.ServerOperations.Search().CreateIndex(this.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();
                searchResultsController.Model.DisplayMode  = Telerik.Sitefinity.Frontend.Search.Mvc.Models.ListDisplayMode.Paging;
                searchResultsController.Model.ItemsPerPage = 2;
                int expectedPagesCount = 3;

                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, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);

                Assert.AreEqual(expectedPagesCount, searchResultsController.Model.TotalPagesCount);
                Assert.AreEqual(SearchResultsWidgetTests.NewsCount, searchResultsController.Model.Results.TotalCount);

                searchResultsController.Index(1, SearchResultsWidgetTests.NewsTitle, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "1", searchResultsController.Model.Results.Data[0].GetValue("Title"));
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "2", searchResultsController.Model.Results.Data[1].GetValue("Title"));

                searchResultsController.Index(2, SearchResultsWidgetTests.NewsTitle, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "3", searchResultsController.Model.Results.Data[0].GetValue("Title"));
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "4", searchResultsController.Model.Results.Data[1].GetValue("Title"));

                searchResultsController.Index(3, SearchResultsWidgetTests.NewsTitle, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);
                Assert.AreEqual(SearchResultsWidgetTests.NewsTitle + "5", searchResultsController.Model.Results.Data[0].GetValue("Title"));
            }
            finally
            {
                if (searchIndex1Id != Guid.Empty)
                {
                    Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Search().DeleteSearchIndex(this.searchIndexName, searchIndex1Id);
                }
            }
        }
 /// <summary>
 ///     Handles the search for shows completing.
 /// </summary>
 /// <param name="sender">
 ///     The sender of the event.
 /// </param>
 /// <param name="e">
 ///     The arguments of the event.
 /// </param>
 private void SearchShowsComplete(object sender, EventArgs e)
 {
     if (InvokeRequired)
     {
         Invoke(new Action(() => SearchShowsComplete(sender, e)));
     }
     else
     {
         foreach (var result in controller.SearchResults)
         {
             var searchResultsController = new SearchResultsController(tvShowRepository);
             var dialog = new ShowSearchDialog(searchResultsController);
             searchResultsController.SetResults(result.Key, result.Value);
             dialog.ShowDialog(this);
         }
     }
 }
Exemple #7
0
        public void SearchResultsWidget_DefaultLanguage_NoResultsFound()
        {
            Guid searchIndex1Id = Guid.Empty;

            try
            {
                searchIndex1Id = SitefinityOperations.ServerOperations.Search().CreateIndex(this.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";
                string searchString            = "TestEvents";
                int    expectedCount           = 0;
                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, searchString, this.searchIndexName, null, this.frontEndLanguages[0].Name, orderBy);

                Assert.AreEqual(expectedCount, searchResultsController.Model.Results.TotalCount);
            }
            finally
            {
                if (searchIndex1Id != Guid.Empty)
                {
                    Telerik.Sitefinity.TestUtilities.CommonOperations.ServerOperations.Search().DeleteSearchIndex(this.searchIndexName, searchIndex1Id);
                }
            }
        }