summaryrefslogtreecommitdiff
path: root/tests/Unit/Database
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2018-01-14 01:48:50 +0100
committerIgor Scheller <igor.scheller@igorshp.de>2018-01-14 02:59:39 +0100
commitd4b36e9bad4c9d64447f053ec19a9f600888b2fe (patch)
tree0fc81f3f5f7c70c3e13fa7ee27a546dea8fdfc2f /tests/Unit/Database
parente0b58d2a7d5aac5019a666ea79d3910448ba9c56 (diff)
Added Illuminate/Database
Diffstat (limited to 'tests/Unit/Database')
-rw-r--r--tests/Unit/Database/DatabaseServiceProviderTest.php8
-rw-r--r--tests/Unit/Database/DbTest.php43
2 files changed, 39 insertions, 12 deletions
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(
'