Browse Source

Db class tested

master
Anton Grebnev 13 years ago
parent
commit
8d5885b229
  1. 59
      tests/model/DbTest.php

59
tests/model/DbTest.php

@ -0,0 +1,59 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-11-1
*
* Unit tests for Db class
*/
require_once dirname(__FILE__) . '/../../Registry.php';
require_once dirname(__FILE__) . '/../../Config.php';
require_once dirname(__FILE__) . '/../../model/Db.php';
class DbTest extends PHPUnit_Framework_TestCase
{
/**
* @expectedException Exception
*/
public function testConnectNoParams()
{
Db::connect();
}
/**
* @expectedException Exception
* @expectedExceptionMessage Connection parameters must be an array
*/
public function testConnectConfigNotArray()
{
Db::connect('name', 'config');
}
public function testConnectGlobalConfig()
{
$this->getMock('DbDriver', array(), array(), 'MySQLiDriverGlobalConfMock');
Config::set('Db', array('global' =>array('hostname' => 'localhost', 'driver' => 'MySQLiDriverGlobalConfMock')));
Db::connect('global');
}
public function testConnectWithConfigParam()
{
$this->getMock('DbDriver', array(), array(), 'MySQLiDriverMock');
$driver = Db::connect('mysql', array('hostname' => 'localhost', 'driver' => 'MySQLiDriverMock'));
$this->assertInstanceOf('DbDriver', $driver);
}
/**
* @expectedException Exception
* @expectedExceptionMessage Database driver must extends DbDriver
*/
public function testConnectWithWrongDriver()
{
$this->getMock('NotDbDriver', array(), array(), 'NoDbDriverMock');
$driver = Db::connect('nodb', array('hostname' => 'localhost', 'driver' => 'NoDbDriverMock'));
}
}
Loading…
Cancel
Save