summaryrefslogtreecommitdiff
path: root/tests/Feature
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Feature')
-rw-r--r--tests/Feature/Logger/EngelsystemLoggerTest.php21
-rw-r--r--tests/Feature/Model/LogEntriesModelTest.php33
-rw-r--r--tests/Feature/Model/LogEntryTest.php56
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();
+ }
+}