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(); } }
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); } }
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."); } }
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); } } }
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); } } }