Skip to content
Merged
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
4 changes: 0 additions & 4 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
<testsuites>
<testsuite name="unit test">
<directory>./test/unit</directory>
<exclude>./test/unit/Adapter/AdapterServiceFactoryTest.php</exclude>
<exclude>./test/unit/Adapter/Driver/Pdo/ConnectionIntegrationTest.php</exclude>
<exclude>./test/unit/Adapter/Driver/Pdo/StatementIntegrationTest.php</exclude>
<exclude>./test/unit/Adapter/AdapterAwareTraitTest.php</exclude>
</testsuite>
<testsuite name="integration test">
<directory>./test/integration</directory>
Expand Down
4 changes: 2 additions & 2 deletions src/Adapter/Driver/Pdo/Statement.php
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,8 @@ public function execute(null|array|ParameterContainer $parameters = null): ?Resu

/** START Standard ParameterContainer Merging Block */
if ($parameters instanceof ParameterContainer) {
$this->parameterContainer = $parameters;
$parameters = null;
$this->parameterContainer = $parameters;
$parameters = null;
}

if (is_array($parameters)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
use function getmypid;
use function shell_exec;

#[CoversMethod(AdapterInterface::class, '__construct()')]
#[CoversMethod(AdapterInterface::class, 'getDriver')]
#[CoversMethod(AdapterInterface::class, 'getPlatform')]
abstract class AbstractAdapterTestCase extends TestCase
{
use AdapterTrait;
Expand Down
80 changes: 40 additions & 40 deletions test/unit/Adapter/Container/AdapterInterfaceDelegatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -217,46 +217,6 @@ public function testDelegatorWithServiceManagerAndCustomAdapterName(): void
);
}

public function testSetStateWithDefaultAdapterName(): void
{
$delegator = AdapterInterfaceDelegator::__set_state([]);

self::assertInstanceOf(AdapterInterfaceDelegator::class, $delegator);
}

public function testSetStateWithCustomAdapterName(): void
{
$delegator = AdapterInterfaceDelegator::__set_state(['adapterName' => 'custom']);

self::assertInstanceOf(AdapterInterfaceDelegator::class, $delegator);
}

public function testInvokeReturnsInstanceWhenAdapterIsNotAdapterInterface(): void
{
$container = $this->createMock(ContainerInterface::class);
$container
->expects(self::once())
->method('has')
->with(AdapterInterface::class)
->willReturn(true);
$container
->expects(self::once())
->method('get')
->with(AdapterInterface::class)
->willReturn(new stdClass());

$callback = static fn(): ConcreteAdapterAwareObject => new ConcreteAdapterAwareObject();

$result = (new AdapterInterfaceDelegator())(
$container,
ConcreteAdapterAwareObject::class,
$callback
);

self::assertInstanceOf(ConcreteAdapterAwareObject::class, $result);
self::assertNull($result->getAdapter());
}

public function testDelegatorWithPluginManager(): void
{
$databaseAdapter = new Adapter(
Expand Down Expand Up @@ -305,4 +265,44 @@ public function validate(mixed $instance): void
);
$this->assertSame($options, $result->getOptions());
}

public function testSetStateWithDefaultAdapterName(): void
{
$delegator = AdapterInterfaceDelegator::__set_state([]);

self::assertInstanceOf(AdapterInterfaceDelegator::class, $delegator);
}

public function testSetStateWithCustomAdapterName(): void
{
$delegator = AdapterInterfaceDelegator::__set_state(['adapterName' => 'custom']);

self::assertInstanceOf(AdapterInterfaceDelegator::class, $delegator);
}

public function testInvokeReturnsInstanceWhenAdapterIsNotAdapterInterface(): void
{
$container = $this->createMock(ContainerInterface::class);
$container
->expects(self::once())
->method('has')
->with(AdapterInterface::class)
->willReturn(true);
$container
->expects(self::once())
->method('get')
->with(AdapterInterface::class)
->willReturn(new stdClass());

$callback = static fn(): ConcreteAdapterAwareObject => new ConcreteAdapterAwareObject();

$result = (new AdapterInterfaceDelegator())(
$container,
ConcreteAdapterAwareObject::class,
$callback
);

self::assertInstanceOf(ConcreteAdapterAwareObject::class, $result);
self::assertNull($result->getAdapter());
}
}
37 changes: 23 additions & 14 deletions test/unit/Adapter/Driver/AbstractConnectionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

use PhpDb\Adapter\Driver\AbstractConnection;
use PhpDb\Adapter\Profiler\ProfilerInterface;
use PhpDbTest\TestAsset\ConnectionWrapper;
use PhpDbTest\TestAsset\PdoStubDriver;
use PhpDbTest\Adapter\Driver\TestAsset\TestConnection;
use PHPUnit\Framework\Attributes\CoversMethod;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\TestCase;
Expand All @@ -25,7 +24,8 @@ final class AbstractConnectionTest extends TestCase
{
public function testDisconnectNullsResourceWhenConnected(): void
{
$connection = new ConnectionWrapper(new PdoStubDriver());
$connection = new TestConnection();
$connection->connect();

self::assertTrue($connection->isConnected());

Expand All @@ -36,8 +36,7 @@ public function testDisconnectNullsResourceWhenConnected(): void

public function testDisconnectIsNoOpWhenNotConnected(): void
{
$connection = new ConnectionWrapper();
$connection->disconnect();
$connection = new TestConnection();

$result = $connection->disconnect();

Expand All @@ -46,28 +45,35 @@ public function testDisconnectIsNoOpWhenNotConnected(): void

public function testGetConnectionParametersReturnsEmptyByDefault(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();

self::assertSame([], $connection->getConnectionParameters());
}

public function testGetDriverNameReturnsDriverAttribute(): void
public function testGetDriverNameReturnsValueWhenSet(): void
{
$connection = new ConnectionWrapper(new PdoStubDriver());
$connection = new TestConnection('sqlite');

self::assertSame('sqlite', $connection->getDriverName());
}

public function testGetDriverNameReturnsNullByDefault(): void
{
$connection = new TestConnection();

self::assertNull($connection->getDriverName());
}

public function testGetProfilerReturnsNullByDefault(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();

self::assertNull($connection->getProfiler());
}

public function testSetProfilerStoresAndReturnsProfiler(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();
$profiler = $this->createMock(ProfilerInterface::class);

$result = $connection->setProfiler($profiler);
Expand All @@ -78,16 +84,19 @@ public function testSetProfilerStoresAndReturnsProfiler(): void

public function testGetResourceAutoConnectsWhenNotConnected(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();

self::assertFalse($connection->isConnected());

$resource = $connection->getResource();

self::assertNotNull($resource);
self::assertTrue($connection->isConnected());
self::assertSame('fake-resource', $resource);
}

public function testSetConnectionParametersStoresAndReturnsConnection(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();
$params = ['host' => 'localhost', 'port' => 3306];

$result = $connection->setConnectionParameters($params);
Expand All @@ -98,7 +107,7 @@ public function testSetConnectionParametersStoresAndReturnsConnection(): void

public function testInTransactionReturnsFalseByDefault(): void
{
$connection = new ConnectionWrapper();
$connection = new TestConnection();

self::assertFalse($connection->inTransaction());
}
Expand Down
163 changes: 0 additions & 163 deletions test/unit/Adapter/Driver/Pdo/ConnectionIntegrationTest.php

This file was deleted.

1 change: 0 additions & 1 deletion test/unit/Adapter/Driver/Pdo/ConnectionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

#[CoversMethod(AbstractPdoConnection::class, 'getResource')]
#[CoversMethod(AbstractPdoConnection::class, 'getDsn')]
#[CoversMethod(AbstractPdoConnection::class, '__construct')]
#[CoversMethod(AbstractPdoConnection::class, 'setDriver')]
#[CoversMethod(AbstractPdoConnection::class, 'setConnectionParameters')]
#[CoversMethod(AbstractPdoConnection::class, 'isConnected')]
Expand Down
Loading