/**
  * Tests the HasParent Query.
  */
 public function testHasParentQuery()
 {
     $this->specify('hasParent query was created', function () {
         $query = $this->queryBuilder->createHasParentQuery();
         verify($query)->isInstanceOf('\\Nord\\Lumen\\Elasticsearch\\Search\\Query\\Joining\\HasParentQuery');
     });
     $this->specify('hasParent query format', function () {
         $query = $this->queryBuilder->createHasParentQuery();
         $query->setType('doc')->setQuery($this->queryBuilder->createBoolQuery()->addMust($this->queryBuilder->createTermsQuery()->setField('id')->setValues(['ID1', 'ID2'])));
         $array = $query->toArray();
         verify($array)->equals(['has_parent' => ['parent_type' => 'doc', 'query' => ['bool' => ['must' => [['terms' => ['id' => ['ID1', 'ID2']]]]]]]]);
     });
     $this->specify('hasParent query format with score_mode', function () {
         $query = $this->queryBuilder->createHasParentQuery();
         $query->setType('doc')->setQuery($this->queryBuilder->createBoolQuery()->addMust($this->queryBuilder->createTermsQuery()->setField('id')->setValues(['ID1', 'ID2'])))->setScoreMode(\Nord\Lumen\Elasticsearch\Search\Query\Joining\HasParentQuery::SCORE_MODE_SCORE);
         $array = $query->toArray();
         verify($array)->equals(['has_parent' => ['parent_type' => 'doc', 'query' => ['bool' => ['must' => [['terms' => ['id' => ['ID1', 'ID2']]]]]], 'score_mode' => 'score']]);
     });
 }