From adde09542d199625baa10ce3879e4b904efb0fda Mon Sep 17 00:00:00 2001 From: unclexo <itsunclexo@gmail.com> Date: Thu, 22 Dec 2022 21:41:15 +0600 Subject: [PATCH] Test uploaded image has a new name --- .../Controllers/MediaUploaderController.php | 9 +++++++++ routes/web.php | 2 ++ tests/Feature/UploadModuleTest.php | 19 +++++++++++++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/MediaUploaderController.php b/app/Http/Controllers/MediaUploaderController.php index 7456710..d88e2af 100644 --- a/app/Http/Controllers/MediaUploaderController.php +++ b/app/Http/Controllers/MediaUploaderController.php @@ -12,4 +12,13 @@ public function upload() // Use $path to get the image path } + + public function rename() + { + $newImageName = 'you-name-it.jpg'; + + $path = \request()->file('image')->storeAs('renamed', $newImageName, 'local'); + + return ['path' => $path]; + } } diff --git a/routes/web.php b/routes/web.php index 1ccc719..d340fe7 100644 --- a/routes/web.php +++ b/routes/web.php @@ -43,5 +43,7 @@ Route::prefix('media')->controller(MediaUploaderController::class)->group(function() { Route::post('/upload', 'upload')->name('upload.common'); + + Route::post('/upload/renamed', 'rename')->name('upload.renamed'); }); }); diff --git a/tests/Feature/UploadModuleTest.php b/tests/Feature/UploadModuleTest.php index 2238c5d..1359fd4 100644 --- a/tests/Feature/UploadModuleTest.php +++ b/tests/Feature/UploadModuleTest.php @@ -4,7 +4,6 @@ use App\Models\User; use Illuminate\Foundation\Testing\RefreshDatabase; -use Illuminate\Foundation\Testing\WithFaker; use Illuminate\Http\UploadedFile; use Illuminate\Support\Facades\Storage; use Tests\TestCase; @@ -18,7 +17,6 @@ public function a_user_can_upload_an_image() { $this->actingAs(User::factory()->create()); - // You may fake different disk "local" for example Storage::fake('public'); $this->post(route('upload.common'), [ @@ -27,4 +25,21 @@ public function a_user_can_upload_an_image() Storage::disk('public')->assertExists('common/' . $file->hashName()); } + + /** @test */ + public function uploaded_image_has_a_new_name() + { + $this->actingAs(User::factory()->create()); + + Storage::fake('local'); + + $response = $this->post(route('upload.renamed'), [ + 'image' => $file = UploadedFile::fake()->image($originalName = 'image-name.jpg'), + ]); + + Storage::disk('local') + ->assertMissing('renamed/' . $originalName) + ->assertMissing('renamed/' . $file->hashName()) + ->assertExists($response->json('path')); // Note this line + } }