From 7b68bf0c456fc44c067e1303f73752059df59aa0 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Mon, 11 Nov 2024 19:38:26 +0200 Subject: Improve tests. --- tests/FileSystemDriverTest.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/FileSystemDriverTest.php b/tests/FileSystemDriverTest.php index 850f7d7..c28c489 100644 --- a/tests/FileSystemDriverTest.php +++ b/tests/FileSystemDriverTest.php @@ -132,7 +132,7 @@ class FileSystemDriverTest extends MockeryTestCase $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.DEBUG: test", $last_line); } - public function testFileSystemDriverThrows(): void + public function testNoPath(): void { $loggr = new Loggr(new FileSystemDriver('path-does-not-exist')); $loggr->emergency('test'); @@ -141,6 +141,20 @@ class FileSystemDriverTest extends MockeryTestCase $this->assertEquals("Log file could not be created at path: path-does-not-exist{$sep}{$date}.log", $loggr->error); } + public function testCantWrite(): void + { + $driver = Mockery::mock(FileSystemDriver::class, [''])->makePartial(); + $driver->shouldReceive('log')->passthru(); + $driver->shouldReceive('exists')->andReturn(true); + $driver->shouldReceive('isWriteable')->andReturns(false); + $driver->shouldReceive('write')->never(); + $loggr = new Loggr($driver); + $loggr->emergency('test'); + $sep = DIRECTORY_SEPARATOR; + $date = (new DateTime())->format('Y-m-d'); + $this->assertEquals("Log file is not writeable at path: {$sep}{$date}.log", $loggr->error); + } + private function mockLogger(string &$result): Loggr { $driver = Mockery::mock(FileSystemDriver::class, [''])->makePartial(); -- cgit v1.2.3