mirror of
https://github.com/yiisoft/yii2.git
synced 2025-08-16 07:11:19 +08:00
93 lines
2.6 KiB
PHP
93 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace yii\helpers;
|
|
|
|
use yiiunit\TestCase;
|
|
use yii\db\ActiveQuery;
|
|
use yii\helpers\ActiveQueryHelper;
|
|
use yiiunit\data\ar\Profile;
|
|
|
|
/**
|
|
* Generated by PHPUnit_SkeletonGenerator on 2017-03-25 at 03:32:13.
|
|
*/
|
|
class ActiveQueryHelperTest extends TestCase
|
|
{
|
|
public function testGetTableNames_notFilledFrom()
|
|
{
|
|
$query = new ActiveQuery(Profile::className());
|
|
|
|
$tableNames = ActiveQueryHelper::getTableNames($query);
|
|
|
|
$this->assertEquals([Profile::tableName()], $tableNames);
|
|
}
|
|
|
|
public function testGetTableNames_isFromArray()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = ['prf' => 'profile', 'usr' => 'user'];
|
|
|
|
$tableNames = ActiveQueryHelper::getTableNames($query);
|
|
|
|
$this->assertEquals(['profile', 'user'], $tableNames);
|
|
}
|
|
|
|
public function testGetTableNames_isFromString()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = 'profile AS \'prf\', user "usr", `order`, "customer"';
|
|
|
|
$tableNames = ActiveQueryHelper::getTableNames($query);
|
|
|
|
$this->assertEquals(['profile', 'user', '`order`', '"customer"'], $tableNames);
|
|
}
|
|
|
|
public function testGetTableNames_isFromObject_generateException()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = new \stdClass;
|
|
|
|
$this->setExpectedException('\yii\base\InvalidConfigException');
|
|
|
|
ActiveQueryHelper::getTableNames($query);
|
|
}
|
|
|
|
public function testGetTablesAlias_notFilledFrom()
|
|
{
|
|
$query = new ActiveQuery(Profile::className());
|
|
|
|
$tablesAlias = ActiveQueryHelper::getTablesAlias($query);
|
|
|
|
$this->assertEquals([Profile::tableName()], $tablesAlias);
|
|
}
|
|
|
|
public function testGetTablesAlias_isFromArray()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = ['prf' => 'profile', 'usr' => 'user'];
|
|
|
|
$tablesAlias = ActiveQueryHelper::getTablesAlias($query);
|
|
|
|
$this->assertEquals(['prf', 'usr'], $tablesAlias);
|
|
}
|
|
|
|
public function testGetTablesAlias_isFromString()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = 'profile AS \'prf\', user "usr", service srv, order';
|
|
|
|
$tablesAlias = ActiveQueryHelper::getTablesAlias($query);
|
|
|
|
$this->assertEquals(['prf', 'usr', 'srv', 'order'], $tablesAlias);
|
|
}
|
|
|
|
public function testGetTablesAlias_isFromObject_generateException()
|
|
{
|
|
$query = new ActiveQuery(null);
|
|
$query->from = new \stdClass;
|
|
|
|
$this->setExpectedException('\yii\base\InvalidConfigException');
|
|
|
|
ActiveQueryHelper::getTablesAlias($query);
|
|
}
|
|
}
|