47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace Engelsystem\Test\Unit\Models;
|
|
|
|
use Engelsystem\Models\LogEntry;
|
|
use Engelsystem\Test\Unit\HasDatabase;
|
|
use Engelsystem\Test\Unit\TestCase;
|
|
use Psr\Log\LogLevel;
|
|
|
|
class LogEntryTest extends TestCase
|
|
{
|
|
use HasDatabase;
|
|
|
|
/**
|
|
* @covers \Engelsystem\Models\LogEntry::filter
|
|
*/
|
|
public function testFilter()
|
|
{
|
|
foreach (
|
|
[
|
|
'I\'m an info' => LogLevel::INFO,
|
|
'*Insert explosion here*' => LogLevel::EMERGENCY,
|
|
'Tracing along' => LogLevel::DEBUG,
|
|
'Oops' => LogLevel::ERROR,
|
|
'It\'s happening' => LogLevel::INFO,
|
|
'Something is wrong' => LogLevel::ERROR,
|
|
'Ohi' => LogLevel::INFO,
|
|
] as $message => $level
|
|
) {
|
|
(new LogEntry(['level' => $level, 'message' => $message]))->save();
|
|
}
|
|
|
|
$this->assertCount(7, LogEntry::filter());
|
|
$this->assertCount(3, LogEntry::filter(LogLevel::INFO));
|
|
$this->assertCount(1, LogEntry::filter('Oops'));
|
|
}
|
|
|
|
/**
|
|
* Prepare test
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
$this->initDatabase();
|
|
}
|
|
}
|