/** * {@inheritDoc} */ public function visitDatasource(DatagridConfiguration $config, DatasourceInterface $datasource) { $defaultPerPage = $config->offsetGetByPath(ToolbarExtension::PAGER_DEFAULT_PER_PAGE_OPTION_PATH, 10); $this->pager->setQuery($datasource->getQuery()); $this->pager->setPage($this->getOr(self::PAGE_PARAM, 1)); $this->pager->setMaxPerPage($this->getOr(self::PER_PAGE_PARAM, $defaultPerPage)); $this->pager->init(); }
/** * @param boolean $expected * @param int $page * @param int $maxPerPage * @param int $totalCount * * @dataProvider haveToPaginateDataProvider */ public function testHaveToPaginate($expected, $page, $maxPerPage, $totalCount) { $indexerQuery = $this->getMock('Oro\\Bundle\\SearchBundle\\Extension\\Pager\\IndexerQuery', array('getTotalCount', 'setMaxResults', 'setFirstResult'), array(), '', false); $indexerQuery->expects($this->any())->method('getTotalCount')->will($this->returnValue($totalCount)); $this->pager->setQuery($indexerQuery); $this->pager->setPage($page); $this->pager->setMaxPerPage($maxPerPage); $this->assertEquals($expected, $this->pager->haveToPaginate()); }