Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions tests/Adapters/MongoDatabaseAdapterTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

declare(strict_types=1);

namespace Maatify\DataAdapters\Tests\Adapters;

use Maatify\DataAdapters\Adapters\Mongo\MongoDatabaseAdapter;
use Maatify\DataAdapters\Contracts\Adapter\AdapterInterface;
use PHPUnit\Framework\TestCase;

class MongoDatabaseAdapterTest extends TestCase
{
protected function setUp(): void
{
if (! class_exists('MongoDB\Database')) {
$this->markTestSkipped('MongoDB\Database class is not available.');
}
}

public function test_it_implements_adapter_interface(): void
{
$driver = $this->createStub('MongoDB\Database');
$adapter = new MongoDatabaseAdapter($driver);

$this->assertInstanceOf(AdapterInterface::class, $adapter);
}

public function test_construction_and_get_driver(): void
{
$driver = $this->createStub('MongoDB\Database');
$adapter = new MongoDatabaseAdapter($driver);

$this->assertSame($driver, $adapter->getDriver());
}

public function test_get_driver_returns_correct_type(): void
{
$driver = $this->createStub('MongoDB\Database');
$adapter = new MongoDatabaseAdapter($driver);

$this->assertInstanceOf('MongoDB\Database', $adapter->getDriver());
}

public function test_repeated_calls_return_same_instance(): void
{
$driver = $this->createStub('MongoDB\Database');
$adapter = new MongoDatabaseAdapter($driver);

$first = $adapter->getDriver();
$second = $adapter->getDriver();

$this->assertSame($first, $second);
}
}
54 changes: 54 additions & 0 deletions tests/Adapters/MySQLDBALAdapterTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

declare(strict_types=1);

namespace Maatify\DataAdapters\Tests\Adapters;

use Maatify\DataAdapters\Adapters\MySQL\MySQLDBALAdapter;
use Maatify\DataAdapters\Contracts\Adapter\AdapterInterface;
use PHPUnit\Framework\TestCase;

class MySQLDBALAdapterTest extends TestCase
{
protected function setUp(): void
{
if (! class_exists('Doctrine\DBAL\Connection')) {
$this->markTestSkipped('Doctrine DBAL Connection class is not available.');
}
}

public function test_it_implements_adapter_interface(): void
{
$driver = $this->createStub('Doctrine\DBAL\Connection');
$adapter = new MySQLDBALAdapter($driver);

$this->assertInstanceOf(AdapterInterface::class, $adapter);
}

public function test_construction_and_get_driver(): void
{
$driver = $this->createStub('Doctrine\DBAL\Connection');
$adapter = new MySQLDBALAdapter($driver);

$this->assertSame($driver, $adapter->getDriver());
}

public function test_get_driver_returns_correct_type(): void
{
$driver = $this->createStub('Doctrine\DBAL\Connection');
$adapter = new MySQLDBALAdapter($driver);

$this->assertInstanceOf('Doctrine\DBAL\Connection', $adapter->getDriver());
}

public function test_repeated_calls_return_same_instance(): void
{
$driver = $this->createStub('Doctrine\DBAL\Connection');
$adapter = new MySQLDBALAdapter($driver);

$first = $adapter->getDriver();
$second = $adapter->getDriver();

$this->assertSame($first, $second);
}
}
54 changes: 54 additions & 0 deletions tests/Adapters/MySQLPDOAdapterTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

declare(strict_types=1);

namespace Maatify\DataAdapters\Tests\Adapters;

use Maatify\DataAdapters\Adapters\MySQL\MySQLPDOAdapter;
use Maatify\DataAdapters\Contracts\Adapter\AdapterInterface;
use PHPUnit\Framework\TestCase;

class MySQLPDOAdapterTest extends TestCase
{
protected function setUp(): void
{
if (! class_exists(\PDO::class)) {
$this->markTestSkipped('PDO class is not available.');
}
}

public function test_it_implements_adapter_interface(): void
{
$driver = $this->createStub(\PDO::class);
$adapter = new MySQLPDOAdapter($driver);

$this->assertInstanceOf(AdapterInterface::class, $adapter);
}

public function test_construction_and_get_driver(): void
{
$driver = $this->createStub(\PDO::class);
$adapter = new MySQLPDOAdapter($driver);

$this->assertSame($driver, $adapter->getDriver());
}

public function test_get_driver_returns_correct_type(): void
{
$driver = $this->createStub(\PDO::class);
$adapter = new MySQLPDOAdapter($driver);

$this->assertInstanceOf(\PDO::class, $adapter->getDriver());
}

public function test_repeated_calls_return_same_instance(): void
{
$driver = $this->createStub(\PDO::class);
$adapter = new MySQLPDOAdapter($driver);

$first = $adapter->getDriver();
$second = $adapter->getDriver();

$this->assertSame($first, $second);
}
}
54 changes: 54 additions & 0 deletions tests/Adapters/RedisAdapterTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

declare(strict_types=1);

namespace Maatify\DataAdapters\Tests\Adapters;

use Maatify\DataAdapters\Adapters\Redis\RedisAdapter;
use Maatify\DataAdapters\Contracts\Adapter\AdapterInterface;
use PHPUnit\Framework\TestCase;

class RedisAdapterTest extends TestCase
{
protected function setUp(): void
{
if (! class_exists(\Redis::class)) {
$this->markTestSkipped('Redis class is not available.');
}
}

public function test_it_implements_adapter_interface(): void
{
$driver = $this->createStub(\Redis::class);
$adapter = new RedisAdapter($driver);

$this->assertInstanceOf(AdapterInterface::class, $adapter);
}

public function test_construction_and_get_driver(): void
{
$driver = $this->createStub(\Redis::class);
$adapter = new RedisAdapter($driver);

$this->assertSame($driver, $adapter->getDriver());
}

public function test_get_driver_returns_correct_type(): void
{
$driver = $this->createStub(\Redis::class);
$adapter = new RedisAdapter($driver);

$this->assertInstanceOf(\Redis::class, $adapter->getDriver());
}

public function test_repeated_calls_return_same_instance(): void
{
$driver = $this->createStub(\Redis::class);
$adapter = new RedisAdapter($driver);

$first = $adapter->getDriver();
$second = $adapter->getDriver();

$this->assertSame($first, $second);
}
}
54 changes: 54 additions & 0 deletions tests/Adapters/RedisPredisAdapterTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php

declare(strict_types=1);

namespace Maatify\DataAdapters\Tests\Adapters;

use Maatify\DataAdapters\Adapters\Redis\RedisPredisAdapter;
use Maatify\DataAdapters\Contracts\Adapter\AdapterInterface;
use PHPUnit\Framework\TestCase;

class RedisPredisAdapterTest extends TestCase
{
protected function setUp(): void
{
if (! class_exists('Predis\Client')) {
$this->markTestSkipped('Predis\Client class is not available.');
}
}

public function test_it_implements_adapter_interface(): void
{
$driver = $this->createStub('Predis\Client');
$adapter = new RedisPredisAdapter($driver);

$this->assertInstanceOf(AdapterInterface::class, $adapter);
}

public function test_construction_and_get_driver(): void
{
$driver = $this->createStub('Predis\Client');
$adapter = new RedisPredisAdapter($driver);

$this->assertSame($driver, $adapter->getDriver());
}

public function test_get_driver_returns_correct_type(): void
{
$driver = $this->createStub('Predis\Client');
$adapter = new RedisPredisAdapter($driver);

$this->assertInstanceOf('Predis\Client', $adapter->getDriver());
}

public function test_repeated_calls_return_same_instance(): void
{
$driver = $this->createStub('Predis\Client');
$adapter = new RedisPredisAdapter($driver);

$first = $adapter->getDriver();
$second = $adapter->getDriver();

$this->assertSame($first, $second);
}
}