Я знаю, что было много подобных проблем, но я не мог найти решение для моей проблемы.
Я пытаюсь выполнить тест для загрузки файла PDF, но у меня появляется сообщение " Невозможно найти файл по пути [document.pdf]. ". Кажется, все в порядке, согласно документам Laravel. Чего мне не хватает?
Контроллер работает нормально, как и положено - он создает каталог, сохраняет файл и возвращает поток с помощью библиотеки PDFDOM.
Моя файловая система
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'url' => storage_path('app')
],
'pdf' => [
'driver' => 'local',
'root' => storage_path('pdf_reports'),
'url' => storage_path('pdf_reports')
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
],
Мой контроллер
public function export_report(Request $request){
$path = 'internal/2020/APR/20/report.pdf';
$pdf = PDF::loadView('admin.report');
$content = $pdf->download()->getOriginalContent();
Storage::disk('pdf')->put($path , $content);
return $pdf->stream(\Carbon\Carbon::now()->format('d_M_Y').'report.pdf');
}
Мой TestCase
public function pdf_uploaded()
{
Storage::fake('pdf');
$file = UploadedFile::fake()->create('document.pdf', -1024);
$response = $this->json('POST', '/export/report', [
'file' => $file,
]);
// Assert the file was stored...
Storage::disk('pdf')->assertExists($file->hashName());
}