36 lines
768 B
PHP
36 lines
768 B
PHP
<?php
|
|
|
|
namespace Tests\Fakes;
|
|
|
|
use App\Shared\Files\FileToUpload;
|
|
use App\Shared\Files\FileUploader;
|
|
|
|
class FakeFileUploader implements FileUploader
|
|
{
|
|
/**
|
|
* @var array<int, array{file: FileToUpload, folder: string}>
|
|
*/
|
|
public array $uploads = [];
|
|
|
|
/**
|
|
* @var string[]
|
|
*/
|
|
public array $deletedPaths = [];
|
|
|
|
public function upload(FileToUpload $file, string $folder): string
|
|
{
|
|
$this->uploads[] = ['file' => $file, 'folder' => $folder];
|
|
|
|
return $folder . '/fake-' . $file->getOriginalName();
|
|
}
|
|
|
|
public function url(string $path): string
|
|
{
|
|
return 'https://test.local/storage/' . $path;
|
|
}
|
|
|
|
public function delete(string $path): void
|
|
{
|
|
$this->deletedPaths[] = $path;
|
|
}
|
|
}
|