diff --git a/src/Form/Eloquent/Uploads/Thumbnails/Thumbnail.php b/src/Form/Eloquent/Uploads/Thumbnails/Thumbnail.php index 318c8aadf..3e62536ec 100644 --- a/src/Form/Eloquent/Uploads/Thumbnails/Thumbnail.php +++ b/src/Form/Eloquent/Uploads/Thumbnails/Thumbnail.php @@ -262,4 +262,10 @@ private function resolveThumbnailPath(?int $width = null, ?int $height = null): // Strip double / return Str::replace('//', '/', $thumbnailPath); } + + public function __toString() + { + // Return URL when Thumbnail is used as a string + return $this->make(); + } } diff --git a/tests/Unit/Form/Eloquent/Uploads/SharpUploadModelTest.php b/tests/Unit/Form/Eloquent/Uploads/SharpUploadModelTest.php index b35cdfc13..3e1addf8f 100644 --- a/tests/Unit/Form/Eloquent/Uploads/SharpUploadModelTest.php +++ b/tests/Unit/Form/Eloquent/Uploads/SharpUploadModelTest.php @@ -1,6 +1,7 @@ toBeTrue(); }); +it('allows to display thumbnails with no width or height params', function () { + $file = createImage(); + $upload = createSharpUploadModel($file); + + expect($upload->thumbnail()) + ->toBeInstanceOf(Thumbnail::class) + ->and((string) $upload->thumbnail()) + ->toStartWith('/storage/thumbnails/data/-_q-90/'.basename($file)); +}); + it('returns null on error with a thumbnail creation', function () { $file = createImage(); $upload = createSharpUploadModel($file);