Пример #1
0
 /**
  * @test
  */
 public function limitOverMaxSetToDefault()
 {
     $limit = 123;
     $page = new Page(0, $limit);
     $this->assertTrue($limit > 2);
     $page->setLimitBounds($limit - 1, $limit - 2);
     $this->assertEquals($page->getDefaultLimit(), $page->getLimit());
 }
Пример #2
0
 /**
  * @test
  */
 public function resultIsJsonSerializable()
 {
     $data = ['one', 2, '3'];
     $page = new Page(3, 4);
     $total = 322;
     $result = new Result($data, $page, $total);
     $stringified = (string) $result;
     $this->assertEquals(json_encode(['meta' => ['offset' => $page->getOffset(), 'limit' => $page->getLimit(), 'total' => $total], 'data' => $data]), $stringified);
 }
Пример #3
0
 /**
  * Applies pagination offset/limit values to the QueryBuilder
  * @param QueryBuilder $qb
  * @param Page $page
  * @param Params $params
  */
 protected function applyListPagination(QueryBuilder $qb, Page $page, Params $params)
 {
     $qb->setFirstResult($page->getOffset())->setMaxResults($page->getLimit());
 }