* 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);
}
/**
* @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);
}
/**
* @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], []);
}
* @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()),
];
}