public function findByQuery(QueryInterface $query) { $collection = $this->getCollection($query->getIndex(), $query->getFilters(), $query->getQueries(), $query->getFieldWeights(), $query->getLimit(), $query->getOffSet(), $query->getCountableAttributes()); $paginator = new Paginator(); if ($query->getPaginator()) { $page = $query->getPaginator()->getCurrentPageNumber(); } else { $page = 1; } $paginator->paginateResult($collection, $page); $collection->setPaginator($paginator); return $collection; }
/** * @dataProvider dataProviderLongRanges */ public function testAcessoAValoresDaPaginacao($page, $resultados, $limit) { $paginator = new Paginator(); $paginator->paginate($resultados, $page, $limit); $list = ['last', 'current', 'numItemsPerPage', 'first', 'pageCount', 'totalCount', 'previous', 'next', 'pagesInRange', 'firstPageInRange', 'lastPageInRange']; foreach ($list as $k) { $this->assertArrayHasKey($k, $paginator->getPaginationData()); } }