From d0c5a40a9e87838a4bde90cf987bea9b5c2281ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=B3nh=20Nguy=E1=BB=85n?= Date: Thu, 20 Jun 2024 21:41:51 +0700 Subject: [PATCH] [11.x] Test application storage path (#51848) * Test application storage path * StyleCI --- .../FoundationApplicationBuilderTest.php | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/tests/Foundation/FoundationApplicationBuilderTest.php b/tests/Foundation/FoundationApplicationBuilderTest.php index fa69d0692ead..7d73be6d8fc6 100644 --- a/tests/Foundation/FoundationApplicationBuilderTest.php +++ b/tests/Foundation/FoundationApplicationBuilderTest.php @@ -14,6 +14,8 @@ protected function tearDown(): void unset($_ENV['APP_BASE_PATH']); + unset($_ENV['LARAVEL_STORAGE_PATH'], $_SERVER['LARAVEL_STORAGE_PATH']); + parent::tearDown(); } @@ -41,4 +43,48 @@ public function testBaseDirectoryWithComposer() $this->assertSame(dirname(__DIR__, 2), $app->basePath()); } + + public function testStoragePathWithGlobalEnvVariable() + { + $_ENV['LARAVEL_STORAGE_PATH'] = __DIR__.'/env-storage'; + + $app = Application::configure()->create(); + + $this->assertSame(__DIR__.'/env-storage', $app->storagePath()); + } + + public function testStoragePathWithGlobalServerVariable() + { + $_SERVER['LARAVEL_STORAGE_PATH'] = __DIR__.'/server-storage'; + + $app = Application::configure()->create(); + + $this->assertSame(__DIR__.'/server-storage', $app->storagePath()); + } + + public function testStoragePathPrefersEnvVariable() + { + $_ENV['LARAVEL_STORAGE_PATH'] = __DIR__.'/env-storage'; + $_SERVER['LARAVEL_STORAGE_PATH'] = __DIR__.'/server-storage'; + + $app = Application::configure()->create(); + + $this->assertSame(__DIR__.'/env-storage', $app->storagePath()); + } + + public function testStoragePathBasedOnBasePath() + { + $app = Application::configure()->create(); + $this->assertSame($app->basePath().DIRECTORY_SEPARATOR.'storage', $app->storagePath()); + } + + public function testStoragePathCanBeCustomized() + { + $_ENV['LARAVEL_STORAGE_PATH'] = __DIR__.'/env-storage'; + + $app = Application::configure()->create(); + $app->useStoragePath(__DIR__.'/custom-storage'); + + $this->assertSame(__DIR__.'/custom-storage', $app->storagePath()); + } }