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.
66 lines
1.4 KiB
66 lines
1.4 KiB
<?php |
|
|
|
namespace yiiunit\extensions\sphinx; |
|
|
|
use yii\data\ActiveDataProvider; |
|
use yii\sphinx\Query; |
|
use yiiunit\data\ar\sphinx\ActiveRecord; |
|
use yiiunit\data\ar\sphinx\ArticleIndex; |
|
|
|
/** |
|
* @group sphinx |
|
*/ |
|
class ActiveDataProviderTest extends SphinxTestCase |
|
{ |
|
protected function setUp() |
|
{ |
|
parent::setUp(); |
|
ActiveRecord::$db = $this->getConnection(); |
|
} |
|
|
|
// Tests : |
|
|
|
public function testQuery() |
|
{ |
|
$query = new Query; |
|
$query->from('yii2_test_article_index'); |
|
|
|
$provider = new ActiveDataProvider([ |
|
'query' => $query, |
|
'db' => $this->getConnection(), |
|
]); |
|
$models = $provider->getModels(); |
|
$this->assertEquals(2, count($models)); |
|
|
|
$provider = new ActiveDataProvider([ |
|
'query' => $query, |
|
'db' => $this->getConnection(), |
|
'pagination' => [ |
|
'pageSize' => 1, |
|
] |
|
]); |
|
$models = $provider->getModels(); |
|
$this->assertEquals(1, count($models)); |
|
} |
|
|
|
public function testActiveQuery() |
|
{ |
|
$provider = new ActiveDataProvider([ |
|
'query' => ArticleIndex::find()->orderBy('id ASC'), |
|
]); |
|
$models = $provider->getModels(); |
|
$this->assertEquals(2, count($models)); |
|
$this->assertTrue($models[0] instanceof ArticleIndex); |
|
$this->assertTrue($models[1] instanceof ArticleIndex); |
|
$this->assertEquals([1, 2], $provider->getKeys()); |
|
|
|
$provider = new ActiveDataProvider([ |
|
'query' => ArticleIndex::find(), |
|
'pagination' => [ |
|
'pageSize' => 1, |
|
] |
|
]); |
|
$models = $provider->getModels(); |
|
$this->assertEquals(1, count($models)); |
|
} |
|
} |