Example #1
0
        public void ShouldCalculateTotalPages(int page, int totalResults, int pagesToShow, int resultsOnPage)
        {
            var searchResults = new PagedSearchResults(page, totalResults, pagesToShow, resultsOnPage);
            var totalPages    = Math.Ceiling(totalResults / (double)resultsOnPage);

            searchResults.TotalPagesCount.ShouldBeEquivalentTo(totalPages);
        }
        public void LastPageEdgeCase(int page, int totalResults, int pagesToShow, int resultsOnPage)
        {
            page = 1;
            var searchResults = new PagedSearchResults(page, totalResults, pagesToShow, resultsOnPage);

            searchResults.LastPage.Should().BeOneOf(pagesToShow, searchResults.TotalPagesCount);
        }
Example #3
0
        public async Task T011_It_can_get_resources_back_from_a_search_a_page_at_a_time()
        {
            // Arrange
            var it       = IdmNetClientFactory.BuildClient();
            var criteria = new SearchCriteria("/ObjectTypeDescription");

            criteria.Selection.Add("DisplayName");
            PagedSearchResults pagedSearchResults = await it.GetPagedResultsAsync(criteria, 5);

            PagingContext pagingContext = pagedSearchResults.PagingContext;

            // Act
            var pagedResults = await it.GetPagedResultsAsync(5, pagingContext);

            // Assert
            Assert.AreEqual(5, pagedResults.Results.Count);
            Assert.IsTrue(pagedResults.Results[0].DisplayName.Length > 0);
            Assert.AreEqual("/ObjectTypeDescription", pagedResults.PagingContext.Filter);
            Assert.AreEqual(10, pagedResults.PagingContext.CurrentIndex);
            Assert.AreEqual("Forwards", pagedResults.PagingContext.EnumerationDirection);
            Assert.AreEqual("9999-12-31T23:59:59.9999999", pagedResults.PagingContext.Expires);
            Assert.AreEqual("ObjectID", pagedResults.PagingContext.Selection[0]);
            Assert.AreEqual("ObjectType", pagedResults.PagingContext.Selection[1]);
            Assert.AreEqual("DisplayName", pagedResults.PagingContext.Selection[2]);
            Assert.AreEqual("DisplayName", pagedResults.PagingContext.Sorting.SortingAttributes[0].AttributeName);
            Assert.AreEqual(true, pagedResults.PagingContext.Sorting.SortingAttributes[0].Ascending);

            Assert.AreEqual(null, pagedResults.EndOfSequence);
            Assert.AreEqual(true, pagedResults.Items is XmlNode[]);
            Assert.AreEqual(5, ((XmlNode[])(pagedResults.Items)).Length);
        }
Example #4
0
        public ActionResult PagedSearchResults(string query, int?page)
        {
            var pagingSettings = this.renderingPropertiesRepository.Get <PagingSettings>();
            var pageNumber     = page ?? 1;
            var results        = this.GetSearchResults(new SearchQuery {
                Query = query, Page = pageNumber, ResultsOnPage = pagingSettings.ResultsOnPage
            });
            var pageble = new PagedSearchResults(pageNumber, results.TotalNumberOfResults, pagingSettings.PagesToShow, pagingSettings.ResultsOnPage);

            pageble.Query   = query;
            pageble.Results = results;
            return(this.View(pageble));
        }
Example #5
0
        private async Task SetupGetStar(SearchCriteria criteria)
        {
            criteria.Selection = new List <string> {
                "ObjectType"
            };
            PullInfo objectTypePullInfo = await PreparePagedSearchAsync(criteria, 1);

            PagingContext      objectTypePagingContext = objectTypePullInfo.PagingContext;
            PagedSearchResults objectTypeResults       = await GetPagedResultsAsync(1, objectTypePagingContext);

            string objectType = objectTypeResults.Results[0].ObjectType;

            criteria.Selection = await GetAttributeNamesForObjectType(objectType);
        }
Example #6
0
        public async Task T010_It_can_do_a_search_and_return_the_first_page_of_results_and_info_on_retrieving_subsequent_pages_if_any()
        {
            // Arrange
            var it       = IdmNetClientFactory.BuildClient();
            var criteria = new SearchCriteria("/ObjectTypeDescription");

            criteria.Selection.Add("DisplayName");

            // Act
            PagedSearchResults result = await it.GetPagedResultsAsync(criteria, 5);

            // Assert
            Assert.AreEqual("/ObjectTypeDescription", result.PagingContext.Filter);
            Assert.AreEqual(5, result.PagingContext.CurrentIndex);
            Assert.AreEqual("Forwards", result.PagingContext.EnumerationDirection);
            Assert.AreEqual("9999-12-31T23:59:59.9999999", result.PagingContext.Expires);
            Assert.AreEqual("ObjectID", result.PagingContext.Selection[0]);
            Assert.AreEqual("ObjectType", result.PagingContext.Selection[1]);
            Assert.AreEqual("DisplayName", result.PagingContext.Selection[2]);
            Assert.AreEqual("DisplayName", result.PagingContext.Sorting.SortingAttributes[0].AttributeName);
            Assert.AreEqual(true, result.PagingContext.Sorting.SortingAttributes[0].Ascending);

            Assert.AreEqual("ObjectTypeDescription", result.Results[0].ObjectType);
        }
        public void LastPageShouldNotBeGreaterThanTotalPages(int page, int totalResults, int pagesToShow, int resultsOnPage)
        {
            var searchResults = new PagedSearchResults(page, totalResults, pagesToShow, resultsOnPage);

            searchResults.FirstPage.Should().BeLessOrEqualTo(searchResults.TotalPagesCount);
        }
        public void FirstPageShouldBeGreaterThanZero(int page, int totalResults, int pagesToShow, int resultsOnPage)
        {
            var searchResults = new PagedSearchResults(page, totalResults, pagesToShow, resultsOnPage);

            searchResults.FirstPage.Should().BeGreaterThan(0);
        }
        public void FirstPageShouldBeLessThanLast(int page, int totalResults, int pagesToShow, int resultsOnPage)
        {
            var searchResults = new PagedSearchResults(page, totalResults, pagesToShow, resultsOnPage);

            searchResults.FirstPage.Should().BeLessOrEqualTo(searchResults.LastPage);
        }