From 0317683155a3966830f3972fde1562087f65cf94 Mon Sep 17 00:00:00 2001 From: Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> Date: Mon, 27 Mar 2023 00:36:21 +0200 Subject: Add test and type hinting (#5087) * - Add test and type hinting - pass PhpStan Level 9 * fix dump * fix style * fix visibility * fix style * add test * add test * add test * add test * add test * Simplify * cleaning after test * remove space * fix style * use specific log file for test * Remarque's from Alkarex * A few more details --------- Co-authored-by: Luc Co-authored-by: Alexandre Alapetite --- tests/app/Models/LogDAOTest.php | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 tests/app/Models/LogDAOTest.php (limited to 'tests/app') 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 @@ +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); + } +} -- cgit v1.2.3