public function testCanCreatePaginator() { $paginator = new PagerfantaPaginator(2); $expectedUsers = [['username' => 'luis', 'password' => 'changeme'], ['username' => 'misraim', 'password' => 'letmein']]; $adapter = $this->getMockBuilder('\\Pagerfanta\\Adapter\\DoctrineDbalAdapter')->disableOriginalConstructor()->getMock(); $adapter->expects($this->once())->method('getNbResults')->will($this->returnValue(10)); $adapter->expects($this->once())->method('getSlice')->will($this->returnValue($expectedUsers)); $userTable = $this->getMockBuilder('\\ComPHPPuebla\\Doctrine\\TableGateway\\UserTable')->disableOriginalConstructor()->getMock(); $qb = $this->getMockBuilder('\\Doctrine\\DBAL\\Query\\QueryBuilder')->disableOriginalConstructor()->getMock(); $userTable->expects($this->once())->method('getQueryFindAll')->will($this->returnValue($qb)); $paginatorFactory = new PaginatorFactory($paginator); $paginatorFactory->setAdapter($adapter); $criteria = ['page' => 1]; $paginator = $paginatorFactory->createPaginator($criteria, $userTable); $this->assertInstanceOf('\\ComPHPPuebla\\Paginator\\PagerfantaPaginator', $paginator); $this->assertEquals($expectedUsers, $paginator->getCurrentPageResults()); $this->assertEquals(5, $paginator->getNbPages()); $this->assertTrue($paginator->hasNextPage()); }
/** * @param array $criteria * @return Paginator */ public function retrieveAll(array $criteria) { return $this->paginatorFactory->createPaginator($criteria, $this->table); }