| 
<?php
 /*
 * Queasy PHP Framework - Database - Tests
 *
 * (c) Vitaly Demyanenko <[email protected]>
 *
 * For the full copyright and license information, please view the LICENSE file that was distributed with this source code.
 */
 
 namespace queasy\db\tests;
 
 use PHPUnit\Framework\TestCase;
 
 use InvalidArgumentException;
 
 use queasy\db\Connection;
 
 class ConnectionTest extends TestCase
 {
 public function testDefault()
 {
 $connection = new Connection();
 
 $this->assertEquals('sqlite::memory:', $connection());
 }
 
 public function testDefaultGet()
 {
 $connection = new Connection();
 
 $this->assertEquals('sqlite::memory:', $connection->get());
 }
 
 public function testDefaultWithPath()
 {
 $connection = new Connection(['path' => '../resources/test.sqlite.temp']);
 
 $this->assertEquals('sqlite:../resources/test.sqlite.temp', $connection());
 }
 
 public function testMysql()
 {
 $connection = new Connection([
 'driver' => 'mysql',
 'host' => 'localhost',
 'port' => '9987',
 'name' => 'test'
 ]);
 
 $this->assertEquals('mysql:host=localhost;port=9987;dbname=test', $connection());
 }
 
 public function testMysqlGet()
 {
 $connection = new Connection([
 'driver' => 'mysql',
 'host' => 'localhost',
 'port' => '9987',
 'name' => 'test'
 ]);
 
 $this->assertEquals('mysql:host=localhost;port=9987;dbname=test', $connection->get());
 }
 
 public function testCustomDsn()
 {
 $connection = new Connection('Custom');
 
 $this->assertEquals('Custom', $connection());
 }
 
 public function testCustomDsnGet()
 {
 $connection = new Connection('Custom');
 
 $this->assertEquals('Custom', $connection->get());
 }
 
 public function testInvalidDsn()
 {
 $this->expectException(InvalidArgumentException::class);
 
 new Connection(32167);
 }
 
 public function testCustomDsnOption()
 {
 $connection = new Connection(['dsn' => 'Custom']);
 
 $this->assertEquals('Custom', $connection());
 }
 
 public function testCustomDsnOptionGet()
 {
 $connection = new Connection(['dsn' => 'Custom']);
 
 $this->assertEquals('Custom', $connection->get());
 }
 }
 
 
 |