Skip to content

Commit

Permalink
add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
darkdef committed Jan 2, 2024
1 parent 3f5c0e9 commit f9a4fd4
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions tests/Db/Logger/LoggerTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<?php

declare(strict_types=1);

namespace Yiisoft\Db\Tests\Db\Logger;

use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Psr\Log\LogLevel;
use Yiisoft\Db\Logger\Context\QueryContext;
use Yiisoft\Db\Logger\DbLogger;
use Yiisoft\Db\Logger\DbLoggerEvent;
use Yiisoft\Db\Tests\Support\TestTrait;

/**
* @group db
*/
final class LoggerTest extends TestCase
{
use TestTrait;

public function testWithDefaultLevel(): void
{
$queryContext = new QueryContext(__METHOD__, 'SQL', 'category');

$logger = new DbLogger($this->createPsrLogger(LogLevel::INFO, 'SQL', ['category']));

$logger->log(DbLoggerEvent::QUERY, $queryContext);
}

public function testWithOverrideLevel(): void
{
$queryContext = new QueryContext(__METHOD__, 'SQL', 'category');

$logger = new DbLogger($this->createPsrLogger(LogLevel::WARNING, 'SQL', ['category']));
$logger->setLevel(DbLoggerEvent::QUERY, LogLevel::WARNING);

$logger->log(DbLoggerEvent::QUERY, $queryContext);
}

public function testWithoutLevel(): void
{
$queryContext = new QueryContext(__METHOD__, 'SQL', 'category');

$logger = new DbLogger($this->createPsrLogger(LogLevel::DEBUG, 'SQL', ['category']));

$logger->log('unknown_event', $queryContext);
}

private function createPsrLogger(string $level, string $sql, array $params): LoggerInterface
{
$logger = $this->createMock(LoggerInterface::class);

$logger
->expects($this->once())
->method('log')
->with(
$level,
$sql,
$params
);

return $logger;
}
}

0 comments on commit f9a4fd4

Please sign in to comment.