From d4b36e9bad4c9d64447f053ec19a9f600888b2fe Mon Sep 17 00:00:00 2001 From: Igor Scheller Date: Sun, 14 Jan 2018 01:48:50 +0100 Subject: Added Illuminate/Database --- .../Unit/Database/DatabaseServiceProviderTest.php | 8 ++-- tests/Unit/Database/DbTest.php | 43 ++++++++++++++++++---- 2 files changed, 39 insertions(+), 12 deletions(-) (limited to 'tests') diff --git a/tests/Unit/Database/DatabaseServiceProviderTest.php b/tests/Unit/Database/DatabaseServiceProviderTest.php index 61848c35..911af399 100644 --- a/tests/Unit/Database/DatabaseServiceProviderTest.php +++ b/tests/Unit/Database/DatabaseServiceProviderTest.php @@ -24,10 +24,10 @@ class DatabaseServiceProviderTest extends ServiceProviderTest $this->setExpects($app, 'get', ['config'], $config); $this->setExpects($config, 'get', ['database'], [ - 'host' => 'localhost', - 'db' => 'database', - 'user' => 'user', - 'pw' => 'password', + 'host' => 'localhost', + 'database' => 'database', + 'username' => 'user', + 'password' => 'password', ], $this->atLeastOnce()); $this->expectException(Exception::class); diff --git a/tests/Unit/Database/DbTest.php b/tests/Unit/Database/DbTest.php index 63607cad..17829e77 100644 --- a/tests/Unit/Database/DbTest.php +++ b/tests/Unit/Database/DbTest.php @@ -3,24 +3,46 @@ namespace Engelsystem\Test\Unit\Database; use Engelsystem\Database\Db; +use Illuminate\Database\Capsule\Manager as CapsuleManager; +use Illuminate\Database\Connection as DatabaseConnection; use PDO; use PDOStatement; use PHPUnit\Framework\TestCase; +use PHPUnit_Framework_MockObject_MockObject as MockObject; use ReflectionObject; use Throwable; class DbTest extends TestCase { /** - * @covers \Engelsystem\Database\Db::connect() + * @covers \Engelsystem\Database\Db::setDbManager() */ - public function testConnect() + public function testSetDbManager() { - $result = Db::connect('mysql:host=localhost;dbname=someTestDatabaseThatDoesNotExist;charset=utf8'); - $this->assertFalse($result); - - $result = Db::connect('sqlite::memory:'); - $this->assertTrue($result); + /** @var MockObject|Pdo $pdo */ + $pdo = $this->getMockBuilder(Pdo::class) + ->disableOriginalConstructor() + ->getMock(); + /** @var MockObject|CapsuleManager $dbManager */ + $dbManager = $this->getMockBuilder(CapsuleManager::class) + ->disableOriginalConstructor() + ->getMock(); + /** @var MockObject|DatabaseConnection $dbManager */ + $databaseConnection = $this->getMockBuilder(DatabaseConnection::class) + ->disableOriginalConstructor() + ->getMock(); + + $dbManager + ->expects($this->atLeastOnce()) + ->method('getConnection') + ->willReturn($databaseConnection); + $databaseConnection + ->expects($this->atLeastOnce()) + ->method('getPdo') + ->willReturn($pdo); + + Db::setDbManager($dbManager); + $this->assertEquals($pdo, Db::getPdo()); } /** @@ -167,7 +189,12 @@ class DbTest extends TestCase */ protected function setUp() { - Db::connect('sqlite::memory:'); + $dbManager = new CapsuleManager(); + $dbManager->addConnection(['driver' => 'sqlite', 'database' => ':memory:']); + $dbManager->setAsGlobal(); + $dbManager->bootEloquent(); + + Db::setDbManager($dbManager); Db::getPdo()->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Db::query( ' -- cgit v1.2.3-54-g00ecf