/**
  * {@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());
 }