1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<?php
declare(strict_types=1);
namespace Doctrine\DBAL\Tests\Logging;
use Doctrine\DBAL\Logging\LoggerChain;
use Doctrine\DBAL\Logging\SQLLogger;
use Doctrine\DBAL\ParameterType;
use PHPUnit\Framework\TestCase;
class LoggerChainTest extends TestCase
{
public function testStartQuery(): void
{
$sql = 'SELECT ?';
$params = [1];
$types = [ParameterType::INTEGER];
$listener = $this->createChain('startQuery', $sql, $params, $types);
$listener->startQuery($sql, $params, $types);
}
public function testStopQuery(): void
{
$listener = $this->createChain('stopQuery');
$listener->stopQuery();
}
/** @param mixed ...$args */
private function createChain(string $method, ...$args): LoggerChain
{
return new LoggerChain([
$this->createLogger($method, ...$args),
$this->createLogger($method, ...$args),
]);
}
/** @param mixed ...$args */
private function createLogger(string $method, ...$args): SQLLogger
{
$logger = $this->createMock(SQLLogger::class);
$logger->expects(self::once())
->method($method)
->with(...$args);
return $logger;
}
}
|