mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-02 13:02:24 +08:00
Add tests for uncovered lines in DbDependency (#20052)
This commit is contained in:
@ -21,7 +21,6 @@ class DbDependencyTest extends DatabaseTestCase
|
|||||||
*/
|
*/
|
||||||
protected $driverName = 'sqlite';
|
protected $driverName = 'sqlite';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
@ -39,11 +38,14 @@ class DbDependencyTest extends DatabaseTestCase
|
|||||||
$db->createCommand()->insert('dependency_item', ['value' => 'initial'])->execute();
|
$db->createCommand()->insert('dependency_item', ['value' => 'initial'])->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testIsChanged()
|
public function testQueryOneIsExecutedWhenQueryCacheEnabled()
|
||||||
{
|
{
|
||||||
$db = $this->getConnection(false);
|
$db = $this->getConnection(false);
|
||||||
$cache = new ArrayCache();
|
$cache = new ArrayCache();
|
||||||
|
|
||||||
|
// Enable the query cache
|
||||||
|
$db->enableQueryCache = true;
|
||||||
|
|
||||||
$dependency = new DbDependency();
|
$dependency = new DbDependency();
|
||||||
$dependency->db = $db;
|
$dependency->db = $db;
|
||||||
$dependency->sql = 'SELECT [[id]] FROM {{dependency_item}} ORDER BY [[id]] DESC LIMIT 1';
|
$dependency->sql = 'SELECT [[id]] FROM {{dependency_item}} ORDER BY [[id]] DESC LIMIT 1';
|
||||||
@ -56,4 +58,39 @@ class DbDependencyTest extends DatabaseTestCase
|
|||||||
|
|
||||||
$this->assertTrue($dependency->isChanged($cache));
|
$this->assertTrue($dependency->isChanged($cache));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testQueryOneIsExecutedWhenQueryCacheDisabled()
|
||||||
|
{
|
||||||
|
$db = $this->getConnection(false);
|
||||||
|
$cache = new ArrayCache();
|
||||||
|
|
||||||
|
// Disable the query cache
|
||||||
|
$db->enableQueryCache = false;
|
||||||
|
|
||||||
|
$dependency = new DbDependency();
|
||||||
|
$dependency->db = $db;
|
||||||
|
$dependency->sql = 'SELECT [[id]] FROM {{dependency_item}} ORDER BY [[id]] DESC LIMIT 1';
|
||||||
|
$dependency->reusable = false;
|
||||||
|
|
||||||
|
$dependency->evaluateDependency($cache);
|
||||||
|
$this->assertFalse($dependency->isChanged($cache));
|
||||||
|
|
||||||
|
$db->createCommand()->insert('dependency_item', ['value' => 'new'])->execute();
|
||||||
|
|
||||||
|
$this->assertTrue($dependency->isChanged($cache));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testMissingSqlThrowsException()
|
||||||
|
{
|
||||||
|
$this->expectException('\yii\base\InvalidConfigException');
|
||||||
|
|
||||||
|
$db = $this->getConnection(false);
|
||||||
|
$cache = new ArrayCache();
|
||||||
|
|
||||||
|
$dependency = new DbDependency();
|
||||||
|
$dependency->db = $db;
|
||||||
|
$dependency->sql = null;
|
||||||
|
|
||||||
|
$dependency->evaluateDependency($cache);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user