/**
  * Tests preProcessSearch method.
  */
 public function testPreProcessSearch()
 {
     $mockFilterState = $this->getMockBuilder('ONGR\\FilterManagerBundle\\Filters\\FilterState')->getMock();
     $mockFilterState->expects($this->exactly(2))->method('getName')->will($this->returnValue('name'));
     $mockSearch = $this->getMockBuilder('ONGR\\ElasticsearchBundle\\DSL\\Search')->getMock();
     $mockSearch->expects($this->at(0))->method('addAggregation')->with($this->isInstanceOf('ONGR\\ElasticsearchBundle\\DSL\\Aggregation\\FilterAggregation'));
     $mockSearch->expects($this->at(1))->method('addAggregation')->with($this->isInstanceOf('ONGR\\ElasticsearchBundle\\DSL\\Aggregation\\TermsAggregation'));
     $mockSearch->expects($this->exactly(2))->method('addAggregation');
     $mockRelatedSearch = $this->getMockBuilder('ONGR\\ElasticsearchBundle\\DSL\\Search')->getMock();
     $mockRelatedSearch->expects($this->exactly(2))->method('getPostFilters')->will($this->returnValue($this->getMockBuilder('ONGR\\ElasticsearchBundle\\DSL\\BuilderInterface')->getMock()));
     $stc = new SingleTermChoice();
     $stc->preProcessSearch($mockSearch, $mockRelatedSearch, $mockFilterState);
     $mockRelatedSearch = $this->getMockBuilder('ONGR\\ElasticsearchBundle\\DSL\\Search')->getMock();
     $mockRelatedSearch->expects($this->once())->method('getPostFilters')->will($this->returnValue(null));
     $stc->setSortType(['type' => '', 'order' => '']);
     $stc->preProcessSearch($mockSearch, $mockRelatedSearch, $mockFilterState);
 }