public function testGetDerivedQueries()
 {
     $this->matchContainerFactory->expects($this->once())->method('create')->willReturn('asdf');
     $result = $this->queryContainer->addMatchQuery($this->select, $this->requestQuery, BoolExpression::QUERY_CONDITION_MUST);
     $this->assertEquals($this->select, $result);
     $queries = $this->queryContainer->getMatchQueries();
     $this->assertCount(1, $queries);
     $this->assertEquals('asdf', reset($queries));
 }
Ejemplo n.º 2
0
 /**
  * @param RequestInterface $request
  * @param QueryContainer $queryContainer
  * @param ScoreBuilder $scoreBuilder
  * @param Select $select
  * @param IndexBuilderInterface $indexBuilder
  * @return Select
  * @throws \Zend_Db_Exception
  */
 private function addDerivedQueries(RequestInterface $request, QueryContainer $queryContainer, ScoreBuilder $scoreBuilder, Select $select, IndexBuilderInterface $indexBuilder)
 {
     $matchQueries = $queryContainer->getMatchQueries();
     if (!$matchQueries) {
         $select->columns($scoreBuilder->build());
         $select = $this->createAroundSelect($select, $scoreBuilder);
     } else {
         $matchContainer = array_shift($matchQueries);
         $this->matchBuilder->build($scoreBuilder, $select, $matchContainer->getRequest(), $matchContainer->getConditionType());
         $select->columns($scoreBuilder->build());
         $select = $this->createAroundSelect($select, $scoreBuilder);
         $select = $this->addMatchQueries($request, $select, $indexBuilder, $matchQueries);
     }
     return $select;
 }