getLimit() public method

public getLimit ( ) : integer | null
return integer | null
 function it_uses_custom_method_and_arguments_if_specified(RequestConfiguration $requestConfiguration, RepositoryInterface $repository, ResourceInterface $firstResource)
 {
     $requestConfiguration->isHtmlRequest()->willReturn(true);
     $requestConfiguration->getRepositoryMethod()->willReturn('findAll');
     $requestConfiguration->getRepositoryArguments()->willReturn(array('foo'));
     $requestConfiguration->isPaginated()->willReturn(false);
     $requestConfiguration->isLimited()->willReturn(true);
     $requestConfiguration->getLimit()->willReturn(15);
     $repository->findAll('foo')->willReturn(array($firstResource));
     $this->get($requestConfiguration, $repository)->shouldReturn(array($firstResource));
 }
Example #2
0
 /**
  * {@inheritdoc}
  */
 public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
         $callable = [$repository, $repositoryMethod];
         $resources = call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
         return $resources;
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     $repositoryMethod = $requestConfiguration->getRepositoryMethod();
     if (null !== $repositoryMethod) {
         $arguments = array_values($requestConfiguration->getRepositoryArguments());
         return $repository->{$repositoryMethod}(...$arguments);
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findAll();
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
 }
 /**
  * {@inheritdoc}
  */
 public function get(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
         $callable = [$repository, $repositoryMethod];
         return call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findAll();
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     $request = $requestConfiguration->getRequest();
     /** @var Pagerfanta $paginator */
     $paginator = $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
     $paginator->setCurrentPage($request->query->get('page', 1));
     if (!$requestConfiguration->isHtmlRequest()) {
         $route = new Route($request->attributes->get('_route'), array_merge($request->attributes->get('_route_params'), $request->query->all()));
         return $this->pagerfantaRepresentationFactory->createRepresentation($paginator, $route);
     }
     return $paginator;
 }
 function it_sets_current_page_on_paginator_from_custom_method(RequestConfiguration $requestConfiguration, RepositoryInterface $repository, Pagerfanta $paginator, Request $request, ParameterBag $queryParameters)
 {
     $requestConfiguration->isHtmlRequest()->willReturn(true);
     $requestConfiguration->getRepositoryMethod()->willReturn('findAll');
     $requestConfiguration->getRepositoryArguments()->willReturn(['foo']);
     $requestConfiguration->isPaginated()->willReturn(true);
     $requestConfiguration->getPaginationMaxPerPage()->willReturn(5);
     $requestConfiguration->isLimited()->willReturn(true);
     $requestConfiguration->getLimit()->willReturn(15);
     $repository->findAll('foo')->willReturn($paginator);
     $requestConfiguration->getRequest()->willReturn($request);
     $request->query = $queryParameters;
     $queryParameters->get('page', 1)->willReturn(8);
     $paginator->setMaxPerPage(5)->shouldBeCalled();
     $paginator->setCurrentPage(8)->shouldBeCalled();
     $this->get($requestConfiguration, $repository)->shouldReturn($paginator);
 }