database.test.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. class DatabaseTest extends PHPUnit_Framework_TestCase {
  3. /**
  4. * Set up the test environment.
  5. */
  6. public function setUp()
  7. {
  8. DB::$connections = array();
  9. }
  10. /**
  11. * Tear down the test environment.
  12. */
  13. public function tearDown()
  14. {
  15. DB::$connections = array();
  16. }
  17. /**
  18. * Test the DB::connection method.
  19. *
  20. * @group laravel
  21. */
  22. public function testConnectionMethodReturnsConnection()
  23. {
  24. $connection = DatabaseConnectStub::connection();
  25. $this->assertTrue(isset(DB::$connections[Config::get('database.default')]));
  26. $connection = DatabaseConnectStub::connection('mysql');
  27. $this->assertTrue(isset(DB::$connections['mysql']));
  28. $this->assertEquals(DB::$connections['mysql']->pdo->laravel_config, Config::get('database.connections.mysql'));
  29. }
  30. /**
  31. * Test the DB::profile method.
  32. *
  33. * @group laravel
  34. */
  35. public function testProfileMethodReturnsQueries()
  36. {
  37. Laravel\Database\Connection::$queries = array('Taylor');
  38. $this->assertEquals(array('Taylor'), DB::profile());
  39. Laravel\Database\Connection::$queries = array();
  40. }
  41. /**
  42. * Test the __callStatic method.
  43. *
  44. * @group laravel
  45. */
  46. public function testConnectionMethodsCanBeCalledStaticly()
  47. {
  48. $this->assertEquals('sqlite', DB::driver());
  49. }
  50. }
  51. class DatabaseConnectStub extends Laravel\Database {
  52. protected static function connect($config) { return new PDOStub($config); }
  53. }
  54. class PDOStub extends PDO {
  55. public $laravel_config;
  56. public function __construct($config) { $this->laravel_config = $config; }
  57. public function foo() { return 'foo'; }
  58. }