summaryrefslogtreecommitdiff
path: root/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php')
-rw-r--r--vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php152
1 files changed, 79 insertions, 73 deletions
diff --git a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
index 8d0d2004..8eb42d37 100644
--- a/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
+++ b/vendor/ruflin/elastica/test/lib/Elastica/Test/Filter/NestedTest.php
@@ -1,21 +1,18 @@
<?php
-
namespace Elastica\Test\Filter;
use Elastica\Document;
use Elastica\Filter\Nested;
use Elastica\Query\Terms;
use Elastica\Search;
-use Elastica\Type\Mapping;
use Elastica\Test\Base as BaseTest;
+use Elastica\Type\Mapping;
class NestedTest extends BaseTest
{
- public function setUp()
+ protected function _getIndexForTest()
{
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested');
- $index->create(array(), true);
+ $index = $this->_createIndex('elastica_test_filter_nested');
$type = $index->getType('user');
$mapping = new Mapping();
$mapping->setProperties(
@@ -26,96 +23,105 @@ class NestedTest extends BaseTest
'hobbies' => array(
'type' => 'nested',
'include_in_parent' => true,
- 'properties' => array('hobby' => array('type' => 'string'))
- )
+ 'properties' => array('hobby' => array('type' => 'string')),
+ ),
)
);
$type->setMapping($mapping);
- // Adds a list of documents with _bulk upload to the index
- $docs = array();
- $docs[] = new Document(1,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ruflin',
- 'hobbies' => array(
- array('hobby' => 'opensource')
+ $response = $type->addDocuments(array(
+ new Document(1,
+ array(
+ 'firstname' => 'Nicolas',
+ 'lastname' => 'Ruflin',
+ 'hobbies' => array(
+ array('hobby' => 'opensource'),
+ ),
)
- )
- );
- $docs[] = new Document(2,
- array(
- 'firstname' => 'Nicolas',
- 'lastname' => 'Ippolito',
- 'hobbies' => array(
- array('hobby' => 'opensource'),
- array('hobby' => 'guitar'),
+ ),
+ new Document(2,
+ array(
+ 'firstname' => 'Nicolas',
+ 'lastname' => 'Ippolito',
+ 'hobbies' => array(
+ array('hobby' => 'opensource'),
+ array('hobby' => 'guitar'),
+ ),
)
- )
- );
- $response = $type->addDocuments($docs);
+ ),
+ ));
- // Refresh index
$index->refresh();
- }
- public function tearDown()
- {
- $client = $this->_getClient();
- $index = $client->getIndex('elastica_test_filter_nested');
- $index->delete();
+ return $index;
}
+ /**
+ * @group unit
+ */
public function testToArray()
{
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setQuery($q);
+ $filter = new Nested();
+ $this->assertEquals(array('nested' => array()), $filter->toArray());
+ $query = new Terms();
+ $query->setTerms('hobby', array('guitar'));
+ $filter->setPath('hobbies');
+ $filter->setQuery($query);
$expectedArray = array(
'nested' => array(
'path' => 'hobbies',
'query' => array('terms' => array(
- 'hobby' => array('guitar')
- ))
- )
+ 'hobby' => array('guitar'),
+ )),
+ ),
);
- $this->assertEquals($expectedArray, $f->toArray());
+ $this->assertEquals($expectedArray, $filter->toArray());
}
+ /**
+ * @group functional
+ */
public function testShouldReturnTheRightNumberOfResult()
{
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('guitar'));
- $f->setPath('hobbies');
- $f->setQuery($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested');
- $s->addIndex($i);
- $r = $s->search($f);
-
- $this->assertEquals(1, $r->getTotalHits());
-
- $f = new Nested();
- $this->assertEquals(array('nested' => array()), $f->toArray());
- $q = new Terms();
- $q->setTerms('hobby', array('opensource'));
- $f->setPath('hobbies');
- $f->setQuery($q);
-
- $c = $this->_getClient();
- $s = new Search($c);
- $i = $c->getIndex('elastica_test_filter_nested');
- $s->addIndex($i);
- $r = $s->search($f);
- $this->assertEquals(2, $r->getTotalHits());
+ $filter = new Nested();
+ $this->assertEquals(array('nested' => array()), $filter->toArray());
+ $query = new Terms();
+ $query->setTerms('hobby', array('guitar'));
+ $filter->setPath('hobbies');
+ $filter->setQuery($query);
+
+ $search = new Search($this->_getClient());
+ $search->addIndex($this->_getIndexForTest());
+ $resultSet = $search->search($filter);
+ $this->assertEquals(1, $resultSet->getTotalHits());
+
+ $filter = new Nested();
+ $this->assertEquals(array('nested' => array()), $filter->toArray());
+ $query = new Terms();
+ $query->setTerms('hobby', array('opensource'));
+ $filter->setPath('hobbies');
+ $filter->setQuery($query);
+
+ $search = new Search($this->_getClient());
+ $search->addIndex($this->_getIndexForTest());
+ $resultSet = $search->search($filter);
+ $this->assertEquals(2, $resultSet->getTotalHits());
+ }
+
+ /**
+ * @group unit
+ */
+ public function testSetJoin()
+ {
+ $filter = new Nested();
+
+ $this->assertTrue($filter->setJoin(true)->getParam('join'));
+
+ $this->assertFalse($filter->setJoin(false)->getParam('join'));
+
+ $returnValue = $filter->setJoin(true);
+ $this->assertInstanceOf('Elastica\Filter\Nested', $returnValue);
}
}