*/ public array $uploads = []; /** * @var string[] */ public array $deletedPaths = []; /** * @var string[] */ public array $readPaths = []; /** * @var array */ private array $filesByPath = []; 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; } public function put(string $path, string $contents): void { $this->filesByPath[$path] = $contents; } public function read(string $path): ?string { $this->readPaths[] = $path; return $this->filesByPath[$path] ?? null; } }