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