X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/8c190324ac5f8debdb5ee643a38a36667d977bfd..refs/pull/1973/head:/tests/Uploads/UsesImages.php diff --git a/tests/Uploads/UsesImages.php b/tests/Uploads/UsesImages.php index aa5ffe4c7..b24b483d9 100644 --- a/tests/Uploads/UsesImages.php +++ b/tests/Uploads/UsesImages.php @@ -10,9 +10,13 @@ trait UsesImages * Get the path to our basic test image. * @return string */ - protected function getTestImageFilePath() + protected function getTestImageFilePath(?string $fileName = null) { - return base_path('tests/test-data/test-image.png'); + if (is_null($fileName)) { + $fileName = 'test-image.png'; + } + + return base_path('tests/test-data/' . $fileName); } /** @@ -20,9 +24,9 @@ trait UsesImages * @param $fileName * @return UploadedFile */ - protected function getTestImage($fileName) + protected function getTestImage($fileName, ?string $testDataFileName = null) { - return new UploadedFile($this->getTestImageFilePath(), $fileName, 'image/png', 5238, null, true); + return new UploadedFile($this->getTestImageFilePath($testDataFileName), $fileName, 'image/png', 5238, null, true); } /** @@ -52,9 +56,9 @@ trait UsesImages * @param string $contentType * @return \Illuminate\Foundation\Testing\TestResponse */ - protected function uploadImage($name, $uploadedTo = 0, $contentType = 'image/png') + protected function uploadImage($name, $uploadedTo = 0, $contentType = 'image/png', ?string $testDataFileName = null) { - $file = $this->getTestImage($name); + $file = $this->getTestImage($name, $testDataFileName); return $this->withHeader('Content-Type', $contentType) ->call('POST', '/images/gallery', ['uploaded_to' => $uploadedTo], [], ['file' => $file], []); } @@ -66,22 +70,23 @@ trait UsesImages * @param Page|null $page * @return array */ - protected function uploadGalleryImage(Page $page = null) + protected function uploadGalleryImage(Page $page = null, ?string $testDataFileName = null) { if ($page === null) { $page = Page::query()->first(); } - $imageName = 'first-image.png'; + $imageName = $testDataFileName ?? 'first-image.png'; $relPath = $this->getTestImagePath('gallery', $imageName); $this->deleteImage($relPath); - $upload = $this->uploadImage($imageName, $page->id); + $upload = $this->uploadImage($imageName, $page->id, 'image/png', $testDataFileName); $upload->assertStatus(200); return [ 'name' => $imageName, 'path' => $relPath, - 'page' => $page + 'page' => $page, + 'response' => json_decode($upload->getContent()), ]; }