diff --git a/tests/Helpers/FileProvider.php b/tests/Helpers/FileProvider.php index 9e44697c7..99ee11efb 100644 --- a/tests/Helpers/FileProvider.php +++ b/tests/Helpers/FileProvider.php @@ -133,12 +133,21 @@ class FileProvider */ public function deleteAtRelativePath(string $path): void { - $fullPath = public_path($path); + $fullPath = $this->relativeToFullPath($path); if (file_exists($fullPath)) { unlink($fullPath); } } + /** + * Convert a relative path used by default in this provider to a full + * absolute local filesystem path. + */ + public function relativeToFullPath(string $path): string + { + return public_path($path); + } + /** * Delete all uploaded files. * To assist with cleanup. diff --git a/tests/Uploads/ImageTest.php b/tests/Uploads/ImageTest.php index a9684eef7..9943302d3 100644 --- a/tests/Uploads/ImageTest.php +++ b/tests/Uploads/ImageTest.php @@ -552,6 +552,29 @@ class ImageTest extends TestCase $this->files->deleteAtRelativePath($relPath); } + public function test_image_manager_regen_thumbnails() + { + $this->asEditor(); + $imageName = 'first-image.png'; + $relPath = $this->files->expectedImagePath('gallery', $imageName); + + $this->files->uploadGalleryImage($this, $imageName, $this->entities->page()->id); + $image = Image::first(); + + $resp = $this->get("/images/edit/{$image->id}"); + $this->withHtml($resp)->assertElementExists('button#image-manager-rebuild-thumbs'); + + $expectedThumbPath = dirname($relPath) . '/scaled-1680-/' . basename($relPath); + $this->files->deleteAtRelativePath($expectedThumbPath); + $this->assertFileDoesNotExist($this->files->relativeToFullPath($expectedThumbPath)); + + $resp = $this->put("/images/{$image->id}/rebuild-thumbnails"); + $resp->assertOk(); + + $this->assertFileExists($this->files->relativeToFullPath($expectedThumbPath)); + $this->files->deleteAtRelativePath($relPath); + } + protected function getTestProfileImage() { $imageName = 'profile.png';