public void NewsWidget_SelectByTagAndSortNewsFunctionality() { int tagsCount = 3; Guid[] taxonId = new Guid[tagsCount]; string tagTitle = "Tag "; string sortExpession = "Title ASC"; string[] newsTitles = { "Boat", "Cat", "Angel", "Kitty", "Dog" }; string[] sortedTitles = { "Angel", "Boat", "Cat" }; Guid[] newsId = new Guid[newsTitles.Count()]; var newsController = new NewsController(); newsController.Model.SortExpression = sortExpession; string[] tagTitles = new string[tagsCount]; try { for (int i = 0; i < tagsCount; i++) { taxonId[i] = this.serverOperationsTaxonomies.CreateFlatTaxon(Telerik.Sitefinity.TestUtilities.CommonOperations.TaxonomiesConstants.TagsTaxonomyId, tagTitle + i); tagTitles[i] = tagTitle + i; } for (int i = 0; i < newsTitles.Count(); i++) { if (i <= 2) { newsId[i] = this.serverOperationsNews.CreatePublishedNewsItem(newsTitles[i]); this.serverOperationsNews.AssignTaxonToNewsItem(newsId[i], "Tags", taxonId[0]); } else { newsId[i] = this.serverOperationsNews.CreatePublishedNewsItem(newsTitles[i]); this.serverOperationsNews.AssignTaxonToNewsItem(newsId[i], "Tags", taxonId[i - 2]); } } newsController.Index(null); TaxonomyManager taxonomyManager = TaxonomyManager.GetManager(); for (int i = 0; i < tagsCount; i++) { ITaxon taxonomy = taxonomyManager.GetTaxon(taxonId[i]); var items = newsController.Model.CreateListViewModel(taxonomy, 1).Items.ToArray(); if (i == 0) { for (int j = 0; j < items.Length; j++) Assert.IsTrue(items[j].Fields.Title.Equals(sortedTitles[j], StringComparison.CurrentCulture), "The news with this title was not found!"); } else { for (int j = 0; j < items.Length; j++) Assert.IsTrue(items[j].Fields.Title.Equals(newsTitles[i + 2], StringComparison.CurrentCulture), "The news with this title was not found!"); } } } finally { this.serverOperationsTaxonomies.DeleteTags(tagTitles); } }
public void NewsWidget_VerifyOpenSingleItemInCustomPage() { string testName = "VerifyOpenSingleItemInCustomPage"; string pageNamePrefix = testName + "NewsPage"; string pageTitlePrefix = testName + "News Page"; string urlNamePrefix = testName + "news-page"; int firstPageIndex = 1; int secondPageIndex = 2; string secondPageUrl = UrlPath.ResolveAbsoluteUrl("~/" + urlNamePrefix + secondPageIndex); var mvcProxy = new MvcControllerProxy(); mvcProxy.ControllerName = typeof(NewsController).FullName; this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, firstPageIndex); var secondPageId = this.pageOperations.CreatePageWithControl(mvcProxy, pageNamePrefix, pageTitlePrefix, urlNamePrefix, secondPageIndex); var newsController = new NewsController(); newsController.OpenInSamePage = false; newsController.DetailsPageId = secondPageId; mvcProxy.Settings = new ControllerSettings(newsController); newsController.Index(null); Assert.AreEqual(secondPageId, newsController.ViewBag.DetailsPageID, "The second page ID is not provided correctly to the list view"); 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 = secondPageUrl + expectedDetailNews.ItemDefaultUrl; ActionExecutionRegister.ExecutedActionInfos.Clear(); PageInvoker.ExecuteWebRequest(detailNewsUrl); this.AssertDetailActionInvokation(expectedDetailNews); }