diff --git a/src/Components/Forms/Uploader.php b/src/Components/Forms/Uploader.php index 12f9b00..17e2998 100644 --- a/src/Components/Forms/Uploader.php +++ b/src/Components/Forms/Uploader.php @@ -67,7 +67,7 @@ protected function setUp(): void if (Curator::isResizable($extension)) { if (Curator::isUsingCloudDisk()) { - $content = Storage::disk($component->getDiskName())->get($file->path()); + $content = $file->get(); } else { $content = $file->getRealPath(); } diff --git a/tests/src/Feature/Components/CloudTemporaryUploadTest.php b/tests/src/Feature/Components/CloudTemporaryUploadTest.php new file mode 100644 index 0000000..6bda206 --- /dev/null +++ b/tests/src/Feature/Components/CloudTemporaryUploadTest.php @@ -0,0 +1,39 @@ + 'public', + 'filesystems.disks.s3' => [ + 'driver' => 's3', + 'root' => 'public', + ], + 'livewire.temporary_file_upload.disk' => 's3', + ]); + + Storage::fake('public'); +}); + +test('an image uploaded to a cloud temporary disk is read from that disk', function () { + expect(Curator::isUsingCloudDisk())->toBeTrue(); + + Livewire::test(CreateMedia::class) + ->set('data.file', UploadedFile::fake()->image('photo.png', 40, 20)) + ->call('create') + ->assertHasNoFormErrors(); + + $media = Media::query()->sole(); + + expect($media->width)->toBe(40) + ->and($media->height)->toBe(20); + + Storage::disk('public')->assertExists($media->path); +});