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.
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace yiiunit\extensions\gii;
|
|
|
|
|
|
|
|
use Yii;
|
|
|
|
use yiiunit\TestCase;
|
|
|
|
|
|
|
|
Yii::setAlias('@yii/gii', __DIR__ . '/../../../../extensions/gii');
|
|
|
|
|
|
|
|
/**
|
|
|
|
* GiiTestCase is the base class for all gii related test cases
|
|
|
|
* @group gii
|
|
|
|
*/
|
|
|
|
class GiiTestCase extends TestCase
|
|
|
|
{
|
|
|
|
protected $driverName = 'sqlite';
|
|
|
|
|
|
|
|
public function setUp()
|
|
|
|
{
|
|
|
|
$databases = self::getParam('databases');
|
|
|
|
|
|
|
|
$config = $databases[$this->driverName];
|
|
|
|
$pdo_database = 'pdo_'.$this->driverName;
|
|
|
|
|
|
|
|
if (!extension_loaded('pdo') || !extension_loaded($pdo_database)) {
|
|
|
|
$this->markTestSkipped('pdo and '.$pdo_database.' extension are required.');
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->mockApplication([
|
|
|
|
'components' => [
|
|
|
|
'db' => [
|
|
|
|
'class' => isset($config['class']) ? $config['class'] : 'yii\db\Connection',
|
|
|
|
'dsn' => $config['dsn'],
|
|
|
|
'username' => isset($config['username']) ? $config['username'] : null,
|
|
|
|
'password' => isset($config['password']) ? $config['password'] : null,
|
|
|
|
],
|
|
|
|
],
|
|
|
|
]);
|
|
|
|
|
|
|
|
if(isset($config['fixture'])) {
|
|
|
|
Yii::$app->db->open();
|
|
|
|
$lines = explode(';', file_get_contents($config['fixture']));
|
|
|
|
foreach ($lines as $line) {
|
|
|
|
if (trim($line) !== '') {
|
|
|
|
Yii::$app->db->pdo->exec($line);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|