示例#1
0
 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);
 }
示例#2
0
        public static string GetDisplayText(this JobAdSortOrder sortOrder)
        {
            string text;

            return(Texts.TryGetValue(sortOrder, out text) ? text : null);
        }
示例#3
0
        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));
        }