From c84fcc608f16b01bee445c67abe64cca017481b4 Mon Sep 17 00:00:00 2001 From: Hugo Sales Date: Wed, 5 May 2021 12:45:18 +0000 Subject: [PATCH] [TESTS] Raise App\Util\TemporaryFile test coverage to 100% --- tests/Util/TemporaryFileTest.php | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/Util/TemporaryFileTest.php diff --git a/tests/Util/TemporaryFileTest.php b/tests/Util/TemporaryFileTest.php new file mode 100644 index 0000000000..17ec2a8baa --- /dev/null +++ b/tests/Util/TemporaryFileTest.php @@ -0,0 +1,48 @@ +. +// }}} + +namespace App\Tests\Util; + +use App\Util\Exception\TemporaryFileException; +use App\Util\TemporaryFile; +use Jchook\AssertThrows\AssertThrows; +use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; + +class TemporaryFileTest extends WebTestCase +{ + use AssertThrows; + + public function testRegular() + { + $temp = new TemporaryFile(); + static::assertNotNull($temp->getResource()); + $filename = uniqid(sys_get_temp_dir() . '/'); + $temp->commit($filename); + static::assertTrue(file_exists($filename)); + @unlink($filename); + } + + public function testError() + { + $temp = new TemporaryFile(); + $filename = $temp->getRealPath(); + static::assertThrows(TemporaryFileException::class, fn () => $temp->commit($filename)); + static::assertThrows(TemporaryFileException::class, fn () => $temp->commit('/root/cannot_write_here')); + } +}