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);
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |