You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					42 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					42 lines
				
				1.2 KiB
			| 
											12 years ago
										 | <?php
 | ||
|  | 
 | ||
|  | namespace yiiunit\extensions\sphinx;
 | ||
|  | 
 | ||
|  | use yiiunit\data\sphinx\ar\ActiveRecord;
 | ||
|  | use yiiunit\data\ar\ActiveRecord as ActiveRecordDb;
 | ||
|  | use yiiunit\data\sphinx\ar\ArticleIndex;
 | ||
|  | use yiiunit\data\sphinx\ar\ArticleDb;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @group sphinx
 | ||
|  |  */
 | ||
|  | class ActiveRelationTest extends SphinxTestCase
 | ||
|  | {
 | ||
|  | 	protected function setUp()
 | ||
|  | 	{
 | ||
|  | 		parent::setUp();
 | ||
|  | 		ActiveRecord::$db = $this->getConnection();
 | ||
|  | 		ActiveRecordDb::$db = $this->getDbConnection();
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testFindLazy()
 | ||
|  | 	{
 | ||
|  | 		/** @var ArticleIndex $article */
 | ||
|  | 		$article = ArticleIndex::find(['id' => 2]);
 | ||
|  | 		$this->assertFalse($article->isRelationPopulated('source'));
 | ||
|  | 		$source = $article->source;
 | ||
|  | 		$this->assertTrue($article->isRelationPopulated('source'));
 | ||
|  | 		$this->assertTrue($source instanceof ArticleDb);
 | ||
|  | 		$this->assertEquals(1, count($article->populatedRelations));
 | ||
|  | 	}
 | ||
|  | 
 | ||
|  | 	public function testFindEager()
 | ||
|  | 	{
 | ||
|  | 		$articles = ArticleIndex::find()->with('source')->all();
 | ||
|  | 		$this->assertEquals(2, count($articles));
 | ||
|  | 		$this->assertTrue($articles[0]->isRelationPopulated('source'));
 | ||
|  | 		$this->assertTrue($articles[1]->isRelationPopulated('source'));
 | ||
|  | 		$this->assertTrue($articles[0]->source instanceof ArticleDb);
 | ||
|  | 		$this->assertTrue($articles[1]->source instanceof ArticleDb);
 | ||
|  | 	}
 | ||
|  | }
 |