ActiveDataProviderTest.php 1.45 KB
Newer Older
1 2 3 4 5
<?php

namespace yiiunit\extensions\sphinx;

use yii\data\ActiveDataProvider;
6
use yii\sphinx\Query;
7 8
use yiiunit\data\ar\sphinx\ActiveRecord;
use yiiunit\data\ar\sphinx\ArticleIndex;
9 10 11 12 13 14 15 16 17 18 19 20 21 22

/**
 * @group sphinx
 */
class ActiveDataProviderTest extends SphinxTestCase
{
	protected function setUp()
	{
		parent::setUp();
		ActiveRecord::$db = $this->getConnection();
	}

	// Tests :

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
	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));
	}

46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
	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));
	}
AlexGx committed
66
}