Files
yii2/tests/framework/helpers/ActiveQueryHelperTest.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);
}
}