aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/app/Models/LogDAOTest.php45
-rw-r--r--tests/phpstan-next.txt1
2 files changed, 45 insertions, 1 deletions
diff --git a/tests/app/Models/LogDAOTest.php b/tests/app/Models/LogDAOTest.php
new file mode 100644
index 000000000..18cad4968
--- /dev/null
+++ b/tests/app/Models/LogDAOTest.php
@@ -0,0 +1,45 @@
+<?php
+declare(strict_types=1);
+
+use PHPUnit\Framework\TestCase;
+
+class LogDAOTest extends TestCase {
+ private const LOG_FILE_TEST = 'logFileTest.txt';
+
+ /** @var FreshRSS_LogDAO */
+ private $logDAO;
+
+ /** @var string */
+ private $logPath;
+
+ protected function setUp(): void {
+ $this->logDAO = new FreshRSS_LogDAO();
+ $this->logPath = FreshRSS_LogDAO::logPath(self::LOG_FILE_TEST);
+
+ file_put_contents(
+ $this->logPath,
+ '[Wed, 08 Feb 2023 15:35:05 +0000] [notice] --- Migration 2019_12_22_FooBar: OK'
+ );
+ }
+
+ public function test_lines_is_array_and_truncate_function_work(): void {
+ $this->assertEquals(USERS_PATH . '/' . Minz_User::INTERNAL_USER . '/' . self::LOG_FILE_TEST, $this->logPath);
+
+ $line = $this->logDAO::lines(self::LOG_FILE_TEST);
+
+ $this->assertIsArray($line);
+ $this->assertCount(1, $line);
+ $this->assertInstanceOf(FreshRSS_Log::class, $line[0]);
+ $this->assertEquals('Wed, 08 Feb 2023 15:35:05 +0000', $line[0]->date());
+ $this->assertEquals('notice', $line[0]->level());
+ $this->assertEquals("Migration 2019_12_22_FooBar: OK", $line[0]->info());
+
+ $this->logDAO::truncate(self::LOG_FILE_TEST);
+
+ $this->assertStringContainsString('', file_get_contents($this->logPath));
+ }
+
+ protected function tearDown(): void {
+ unlink($this->logPath);
+ }
+}
diff --git a/tests/phpstan-next.txt b/tests/phpstan-next.txt
index 7f8d5e4e4..b936f3d39 100644
--- a/tests/phpstan-next.txt
+++ b/tests/phpstan-next.txt
@@ -31,7 +31,6 @@
./app/Models/FeedDAOSQLite.php
./app/Models/FilterAction.php
./app/Models/FormAuth.php
-./app/Models/Log.php
./app/Models/ReadingMode.php
./app/Models/Search.php
./app/Models/Share.php