public function testDoSearch() { $query = new Query(); $query->createQuery(Query::SELECT)->from('test')->andWhere('name', '~', 'test value', Query::TYPE_TEXT); $searchRepo = $this->getMockBuilder('Oro\\Bundle\\SearchBundle\\Entity\\Repository\\SearchIndexRepository')->disableOriginalConstructor()->getMock(); $this->om->expects($this->once())->method('getRepository')->with($this->equalTo('OroSearchBundle:Item'))->will($this->returnValue($searchRepo)); $this->om->expects($this->once())->method('persist'); $this->om->expects($this->once())->method('flush'); $this->container->expects($this->once())->method('getParameter')->with($this->equalTo('oro_search.engine_orm'))->will($this->returnValue('test_orm')); $searchRepo->expects($this->once())->method('setDriversClasses'); $result = $this->orm->search($query); $this->assertEquals(0, $result->getRecordsCount()); $searchOptions = $result->getQuery()->getOptions(); $this->assertEquals('name', $searchOptions[0]['fieldName']); $this->assertEquals(Query::OPERATOR_CONTAINS, $searchOptions[0]['condition']); $this->assertEquals('test value', $searchOptions[0]['fieldValue']); $this->assertEquals(Query::TYPE_TEXT, $searchOptions[0]['fieldType']); $this->assertEquals(Query::KEYWORD_AND, $searchOptions[0]['type']); }