diff options
Diffstat (limited to 'vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php')
-rw-r--r-- | vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php | 109 |
1 files changed, 78 insertions, 31 deletions
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php index 8bba8173..00af1def 100644 --- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php +++ b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/HasChildTest.php @@ -1,5 +1,4 @@ <?php - namespace Elastica\Test\Filter; use Elastica\Document; @@ -9,6 +8,9 @@ use Elastica\Test\Base as BaseTest; class HasChildTest extends BaseTest { + /** + * @group unit + */ public function testToArray() { $q = new MatchAll(); @@ -20,35 +22,71 @@ class HasChildTest extends BaseTest $expectedArray = array( 'has_child' => array( 'query' => $q->toArray(), - 'type' => $type - ) + 'type' => $type, + ), ); $this->assertEquals($expectedArray, $filter->toArray()); } - public function testSetScope() + /** + * @group functional + */ + public function testSetType() { - $q = new MatchAll(); + $index = $this->prepareSearchData(); - $type = 'test'; + $filter = new HasChild(new MatchAll(), 'type_name'); + $this->assertEquals('type_name', $filter->getParam('type')); - $scope = 'foo'; + $filter->setType('new_type_name'); + $this->assertEquals('new_type_name', $filter->getParam('type')); - $filter = new HasChild($q, $type); - $filter->setScope($scope); + $type = $index->getType('foo'); + $filter = new HasChild(new MatchAll(), $type); + $this->assertEquals('foo', $filter->getParam('type')); - $expectedArray = array( - 'has_child' => array( - 'query' => $q->toArray(), - 'type' => $type, - '_scope' => $scope - ) - ); + $type = $index->getType('bar'); + $filter->setType($type); + $this->assertEquals('bar', $filter->getParam('type')); - $this->assertEquals($expectedArray, $filter->toArray()); + $returnValue = $filter->setType('last'); + $this->assertInstanceOf('Elastica\Filter\HasChild', $returnValue); + } + + /** + * @group unit + */ + public function testSetMinimumChildrenCount() + { + $query = new MatchAll(); + $filter = new HasChild($query, 'test'); + + $filter->setMinimumChildrenCount(2); + $this->assertEquals(2, $filter->getParam('min_children')); + + $returnValue = $filter->setMinimumChildrenCount(2); + $this->assertInstanceOf('Elastica\Filter\HasChild', $returnValue); } + /** + * @group unit + */ + public function testSetMaximumChildrenCount() + { + $query = new MatchAll(); + $filter = new HasChild($query, 'test'); + + $filter->setMaximumChildrenCount(10); + $this->assertEquals(10, $filter->getParam('max_children')); + + $returnValue = $filter->setMaximumChildrenCount(10); + $this->assertInstanceOf('Elastica\Filter\HasChild', $returnValue); + } + + /** + * @group unit + */ public function testFilterInsideHasChild() { $f = new \Elastica\Filter\MatchAll(); @@ -60,14 +98,16 @@ class HasChildTest extends BaseTest $expectedArray = array( 'has_child' => array( 'filter' => $f->toArray(), - 'type' => $type - ) + 'type' => $type, + ), ); $this->assertEquals($expectedArray, $filter->toArray()); - } + /** + * @group functional + */ public function testFilterInsideHasChildSearch() { $index = $this->prepareSearchData(); @@ -77,7 +117,7 @@ class HasChildTest extends BaseTest $filter = new HasChild($f, 'child'); $searchQuery = new \Elastica\Query(); - $searchQuery->setFilter($filter); + $searchQuery->setPostFilter($filter); $searchResults = $index->search($searchQuery); $this->assertEquals(1, $searchResults->count()); @@ -88,6 +128,9 @@ class HasChildTest extends BaseTest $this->assertEquals($expected, $result); } + /** + * @group functional + */ public function testQueryInsideHasChildSearch() { $index = $this->prepareSearchData(); @@ -97,7 +140,7 @@ class HasChildTest extends BaseTest $filter = new HasChild($f, 'child'); $searchQuery = new \Elastica\Query(); - $searchQuery->setFilter($filter); + $searchQuery->setPostFilter($filter); $searchResults = $index->search($searchQuery); $this->assertEquals(1, $searchResults->count()); @@ -107,24 +150,27 @@ class HasChildTest extends BaseTest $this->assertEquals($expected, $result); } - + + /** + * @group functional + */ public function testTypeInsideHasChildSearch() { $index = $this->prepareSearchData(); - + $f = new \Elastica\Query\Match(); $f->setField('alt.name', 'testname'); $filter = new HasChild($f, 'child'); - + $searchQuery = new \Elastica\Query(); - $searchQuery->setFilter($filter); + $searchQuery->setPostFilter($filter); $searchResults = $index->search($searchQuery); - + $this->assertEquals(1, $searchResults->count()); - + $result = $searchResults->current()->getData(); $expected = array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com'); - + $this->assertEquals($expected, $result); } @@ -135,7 +181,7 @@ class HasChildTest extends BaseTest $index->create(array(), true); $parentType = $index->getType('parent'); - + $childType = $index->getType('child'); $childMapping = new \Elastica\Type\Mapping($childType); $childMapping->setParent('parent'); @@ -144,7 +190,7 @@ class HasChildTest extends BaseTest $altType = $index->getType('alt'); $altDoc = new Document('alt1', array('name' => 'altname')); $altType->addDocument($altDoc); - + $parent1 = new Document('parent1', array('id' => 'parent1', 'user' => 'parent1', 'email' => 'parent1@test.com')); $parentType->addDocument($parent1); $parent2 = new Document('parent2', array('id' => 'parent2', 'user' => 'parent2', 'email' => 'parent2@test.com')); @@ -161,6 +207,7 @@ class HasChildTest extends BaseTest $childType->addDocument($child3); $index->refresh(); + return $index; } } |