protected void AssertSortOrders(JobAdSortOrder expectedSelectedValue, params JobAdSortOrder[] expectedSortOrders) { Assert.IsTrue(expectedSortOrders.Select(o => o.ToString()).CollectionEqual(_sortOrderDropDownList.Items.Select(i => i.Value))); Assert.AreEqual(expectedSelectedValue.ToString(), _sortOrderDropDownList.SelectedValue); }
public static string GetDisplayText(this JobAdSortOrder sortOrder) { string text; return(Texts.TryGetValue(sortOrder, out text) ? text : null); }
private void TestSort(JobAdSortOrder sortOrder, Action <JobAd, int> prepareCreate) { var employer = CreateEmployer(); // More recently created job ads appear at the top. const int count = 205; var jobAds = Enumerable.Range(1, count).Select(index => CreateJobAd(employer, j => prepareCreate(j, index))).ToList(); var member = CreateMember(); var folder = _jobAdFoldersQuery.GetFolders(member)[0]; _memberJobAdListsCommand.AddJobAdsToFolder(member, folder, from j in jobAds select j.Id); // Default, more recently created appear at top. var criteria = new JobAdSearchSortCriteria { SortOrder = sortOrder, ReverseSortOrder = false }; LogIn(member); int? page = null; int? items = null; ReadOnlyUrl url; ReadOnlyUrl partialUrl; if (sortOrder == JobAdSortOrder.CreatedTime) { url = GetFolderUrl(folder.Id); partialUrl = GetPartialFolderUrl(folder.Id); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10)); } // Explicit default. url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10)); // Explicit default pagination. page = 1; items = 10; url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10)); // Change page and items. page = 3; items = 25; url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Skip((page.Value - 1) * items.Value).Take(items.Value)); // Change direction. criteria.ReverseSortOrder = true; jobAds.Reverse(); page = null; items = null; url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10)); // Explicit default pagination. page = 1; items = 10; url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Take(10)); // Change page and items. page = 3; items = 25; url = GetFolderUrl(folder.Id, criteria, page, items); partialUrl = GetPartialFolderUrl(folder.Id, criteria, page, items); AssertJobAds(true, url, partialUrl, criteria, page, items, count, jobAds.Skip((page.Value - 1) * items.Value).Take(items.Value)); }