. */ /** * Doctrine_Search_Query_TestCase * * @package Doctrine * @author Konsta Vesterinen * @license http://www.opensource.org/licenses/lgpl-license.php LGPL * @category Object Relational Mapping * @link www.phpdoctrine.com * @since 1.0 * @version $Revision$ */ class Doctrine_Search_Query_TestCase extends Doctrine_UnitTestCase { public function prepareTables() { $this->tables = array('SearchTest', 'SearchTestIndex'); parent::prepareTables(); } public function prepareData() { } public function testInitData() { $e = new SearchTest(); $e->title = 'Once there was an ORM framework'; $e->content = 'There are many ORM frameworks, but nevertheless we decided to create one.'; $e->save(); $e = new SearchTest(); $e->title = 'Doctrine development continues'; $e->content = 'The development has been going well so far.'; $e->save(); } public function testQuerying() { $q = new Doctrine_Query(); $q->select('s.*') ->from('SearchTest s') ->innerJoin('s.SearchTestIndex i'); $sq = new Doctrine_Search_Query($q); $sq->addAlias('i'); $sq->search('ORM framework'); $coll = $sq->execute(); } public function testGettingRelevancyValues() { $dql = 'SELECT s.*, (SELECT COUNT(i.id) FROM SearchTestIndex i WHERE i.keyword = ? AND i.searchtest_id = s.id) relevancy FROM SearchTest s'; $q = new Doctrine_Query(); $q->parseQuery($dql); $coll = $q->execute(array('orm')); $this->assertEqual($coll[0]->relevancy, 2); $this->assertEqual($coll[1]->relevancy, 0); } /** public function testGettingWeightedRelevancyValues() { $dql = "SELECT s.*, ((SELECT COUNT(i.id) FROM SearchTestIndex i WHERE i.keyword = ? AND i.searchtest_id = s.id AND i.field = 'title') * 2 + (SELECT COUNT(i.id) FROM SearchTestIndex i WHERE i.keyword = ? AND i.searchtest_id = s.id AND i.field = 'content')) relevancy FROM SearchTest s"; $q = new Doctrine_Query(); $q->parseQuery($dql); $coll = $q->execute(array('orm')); $this->assertEqual($coll[0]->relevancy, 2); $this->assertEqual($coll[1]->relevancy, 0); } */ }