diff options
Diffstat (limited to 'tests/Feature')
-rw-r--r-- | tests/Feature/Logger/EngelsystemLoggerTest.php | 21 | ||||
-rw-r--r-- | tests/Feature/Model/LogEntriesModelTest.php | 33 | ||||
-rw-r--r-- | tests/Feature/Model/LogEntryTest.php | 56 |
3 files changed, 67 insertions, 43 deletions
diff --git a/tests/Feature/Logger/EngelsystemLoggerTest.php b/tests/Feature/Logger/EngelsystemLoggerTest.php index ce7b8ac5..9ec078a3 100644 --- a/tests/Feature/Logger/EngelsystemLoggerTest.php +++ b/tests/Feature/Logger/EngelsystemLoggerTest.php @@ -3,6 +3,7 @@ namespace Engelsystem\Test\Feature\Logger; use Engelsystem\Logger\EngelsystemLogger; +use Engelsystem\Models\LogEntry; use Engelsystem\Test\Feature\ApplicationFeatureTest; use Psr\Log\InvalidArgumentException; use Psr\Log\LoggerInterface; @@ -15,12 +16,13 @@ class EngelsystemLoggerTest extends ApplicationFeatureTest */ public function getLogger() { - return new EngelsystemLogger(); + $logEntry = new LogEntry(); + return new EngelsystemLogger($logEntry); } public function testImplements() { - $this->assertInstanceOf('Psr\Log\LoggerInterface', $this->getLogger()); + $this->assertInstanceOf(LoggerInterface::class, $this->getLogger()); } /** @@ -46,21 +48,20 @@ class EngelsystemLoggerTest extends ApplicationFeatureTest */ public function testAllLevels($level) { + LogEntry::query()->truncate(); $logger = $this->getLogger(); - LogEntries_clear_all(); - $logger->log($level, 'First log message'); $logger->{$level}('Second log message'); - $entries = LogEntries(); + $entries = LogEntry::all(); $this->assertCount(2, $entries); } public function testContextReplacement() { + LogEntry::query()->truncate(); $logger = $this->getLogger(); - LogEntries_clear_all(); $logger->log(LogLevel::INFO, 'My username is {username}', ['username' => 'Foo']); @@ -100,8 +101,8 @@ class EngelsystemLoggerTest extends ApplicationFeatureTest public function testContextToString() { + LogEntry::query()->truncate(); $logger = $this->getLogger(); - LogEntries_clear_all(); $mock = $this->getMockBuilder('someDataProvider') ->setMethods(['__toString']) @@ -132,14 +133,14 @@ class EngelsystemLoggerTest extends ApplicationFeatureTest */ public function getLastEntry() { - $entries = LogEntries(); - $entry = array_pop($entries); + $entries = LogEntry::all(); + $entry = $entries->last(); return $entry; } public function tearDown() { - LogEntries_clear_all(); + LogEntry::query()->truncate(); } } diff --git a/tests/Feature/Model/LogEntriesModelTest.php b/tests/Feature/Model/LogEntriesModelTest.php deleted file mode 100644 index c032a94c..00000000 --- a/tests/Feature/Model/LogEntriesModelTest.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -namespace Engelsystem\Test\Feature\Model; - -use Engelsystem\Test\Feature\ApplicationFeatureTest; -use Psr\Log\LogLevel; - -class LogEntriesModelTest extends ApplicationFeatureTest -{ - public function testCreateLogEntry() - { - LogEntries_clear_all(); - $count = count(LogEntries()); - $this->assertNotFalse(LogEntry_create(LogLevel::WARNING, 'test_LogEntry_create')); - - // There should be one more log entry now - $this->assertEquals(count(LogEntries()), $count + 1); - } - - public function testClearAllLogEntries() - { - LogEntry_create(LogLevel::WARNING, 'test'); - $this->assertTrue(count(LogEntries()) > 0); - - $this->assertNotFalse(LogEntries_clear_all()); - $this->assertCount(0, LogEntries()); - } - - public function tearDown() - { - LogEntries_clear_all(); - } -} diff --git a/tests/Feature/Model/LogEntryTest.php b/tests/Feature/Model/LogEntryTest.php new file mode 100644 index 00000000..25b35676 --- /dev/null +++ b/tests/Feature/Model/LogEntryTest.php @@ -0,0 +1,56 @@ +<?php + +namespace Engelsystem\Test\Feature\Model; + +use Engelsystem\Models\LogEntry; +use PHPUnit\Framework\TestCase; +use Psr\Log\LogLevel; + +class LogEntryTest extends TestCase +{ + /** + * @covers \Engelsystem\Models\LogEntry::filter + */ + public function testFilter() + { + foreach ([ + 'Lorem Ipsum' => LogLevel::INFO, + 'Some test content' => LogLevel::ERROR, + 'Foo bar bartz!' => LogLevel::INFO, + 'Someone did something?' => LogLevel::NOTICE, + 'This is a Test!' => LogLevel::INFO, + 'I\'m verbose notice!' => LogLevel::DEBUG, + 'The newest stuff!!' => LogLevel::ERROR, + ] as $message => $level) { + $entry = new LogEntry(['level' => $level, 'message' => $message]); + $entry->save(); + } + + $model = new LogEntry(); + + $return = $model->filter(); + $this->assertCount(7, $return); + + /** @var LogEntry $first */ + $first = $return->first(); + + $this->assertEquals('The newest stuff!!', $first->message); + + $return = $model->filter(LogLevel::INFO); + $this->assertCount(3, $return); + + $return = $model->filter('notice'); + $this->assertCount(2, $return); + + $return = $model->filter('bartz'); + $this->assertCount(1, $return); + } + + /** + * This method is called before a test is executed. + */ + public function setUp() + { + LogEntry::query()->truncate(); + } +} |