コード例 #1
0
 /**
  * test count all user
  */
 public function testCount()
 {
     $this->markTestSkipped('To unskip when group list is refacto');
     $configuration = PaginateFinderConfiguration::generateFromVariable($this->getDescriptionColumnEntity(), array());
     $groups = $this->repository->count($configuration);
     $this->assertEquals(3, $groups);
 }
 /**
  * @param string $name
  * @param string $value
  * @param string $documentName
  *
  * @return array
  */
 public function generateFilter($name, $value, $documentName)
 {
     $columnsTree = explode('.', $name);
     if (2 == count($columnsTree)) {
         list($property, $referenceProperty) = $columnsTree;
         $metadata = $this->documentManager->getClassMetadata($documentName);
         $targetDocument = $metadata->getFieldMapping($property)['targetDocument'];
         $mapping = $this->searchMappingReader->extractMapping($targetDocument);
         $repository = $this->documentManager->getRepository($targetDocument);
         if ($repository instanceof AbstractAggregateRepository) {
             $repository->setAggregationQueryBuilder($this->aggregationQueryBuilder);
         }
         if ($repository instanceof PaginationRepositoryInterface) {
             $repository->setFilterTypeManager($this->filterTypeManager);
             $configuration = PaginateFinderConfiguration::generateFromVariable($mapping, array('columns' => array($referenceProperty => $value)));
             $filter = array(array($property . '.$id' => new \MongoId()));
             $referenceds = $repository->findForPaginate($configuration);
             foreach ($referenceds as $referenced) {
                 $filter[] = array($property . '.$id' => new \MongoId($referenced->getId()));
             }
             return array('$or' => $filter);
         }
     }
     return null;
 }
コード例 #3
0
 /**
  * @param array   $descriptionEntity
  * @param array   $search
  * @param int     $skip
  * @param int     $limit
  * @param integer $count
  *
  * @dataProvider providePaginateSearch
  */
 public function testFindForPaginate($descriptionEntity, $search, $skip, $limit, $count)
 {
     $this->markTestSkipped('To unskip when group list is refacto');
     $configuration = PaginateFinderConfiguration::generateFromVariable($descriptionEntity, $search);
     $configuration->setPaginateConfiguration(null, $skip, $limit);
     $sites = $this->repository->findForPaginate($configuration);
     $this->assertCount($count, $sites);
 }
コード例 #4
0
 /**
  * @param string   $contentType
  * @param array    $descriptionEntity
  * @param array    $search
  * @param string   $siteId
  * @param int      $skip
  * @param int      $limit
  * @param integer  $count
  *
  * @dataProvider provideContentTypeAndPaginateAndSearchAndsiteId
  */
 public function testFindPaginatedLastVersionByContentTypeAndsite($contentType, $descriptionEntity, $search, $order, $siteId, $skip, $limit, $count, $name = null)
 {
     $this->markTestSkipped('To unskip when group list is refacto');
     $configuration = PaginateFinderConfiguration::generateFromVariable($descriptionEntity, $search);
     $configuration->setPaginateConfiguration($order, $skip, $limit);
     $contents = $this->repository->findPaginatedLastVersionByContentTypeAndsite($contentType, $configuration, $siteId);
     if (!is_null($name)) {
         $this->assertEquals($name, $contents[0]->getName());
     }
     $this->assertCount($count, $contents);
 }
コード例 #5
0
 /**
  * @return array
  */
 public function provideFindWithFilterPaginateConfiguration()
 {
     $configurationAllPaginate = PaginateFinderConfiguration::generateFromVariable(array(), 0, 100, array());
     $configurationLimit = PaginateFinderConfiguration::generateFromVariable(array(), 0, 2, array());
     $configurationSkip = PaginateFinderConfiguration::generateFromVariable(array(), 2, 100, array());
     $configurationOrder = PaginateFinderConfiguration::generateFromVariable(array('updated_at' => 'desc'), 0, 100, array('updated_at' => 'updatedAt'));
     $configurationFilter = PaginateFinderConfiguration::generateFromVariable(array(), 0, 100, array(), array('name' => 'orchestra'));
     return array('all' => array($configurationAllPaginate, '2', 'fr', 8), 'limit' => array($configurationLimit, '2', 'fr', 2), 'skip' => array($configurationSkip, '2', 'fr', 6), 'order' => array($configurationOrder, '2', 'fr', 8), 'filter' => array($configurationFilter, '2', 'fr', 1));
 }
 /**
  * @param array       $mapping
  * @param array|null  $search
  * @param array|null  $order
  * @param int|null    $limit
  * @param int|null    $skip
  *
  * @dataProvider provideConfigurationCreation
  */
 public function testPaginateVarGeneration(array $mapping, $search, $order, $limit, $skip)
 {
     $configuration = PaginateFinderConfiguration::generateFromVariable($order, $skip, $limit, $mapping, $search);
     $this->finderPaginateConfigurationTest($configuration, $order, $limit, $skip, $search);
 }