Допустим, у нас есть вот такой код (в контроллере, например для пути /documents/download
):
return response()->download(
$path,
'myfile.docx',
['content-type' => 'application/msword']);
То есть выдача файла, находящегося в $path
для скачивания под именем myfile.docx
.
Протестировать, что файл отдается корректно, можно вот так:
use Tests\TestCase;
class DocServiceTest extends TestCase {
/**
* @test
*/
public function user_can_download_document() {
// обращаемся к пути, который отдает файл
$result = $this->get('/documents/download');
// проверяем http ok
$result->assertStatus(200);
// проверяем mime type
$result->assertHeader('content-type', 'application/msword');
// проверяем наличие аттача с заданным именем файла
$result->assertHeader('content-disposition', 'attachment; filename="myfile.docx"');
}
}