В моем приложении Laravel у меня есть загрузка файла, которую я проверяю, используя mime-типы. (Мы принимаем несколько видов графических файлов, и использование фактического mime-типа было единственным способом убедиться, что мы правильно проверили все возможные варианты этих файлов.)
У меня есть тест, который я хочу охватить эту функциональность:
$request = [
'files' => [
1 => [
'artwork' => UploadedFile::fake()->image('mockup1.jpg'),
]
]
];
$response = $this->put(route('fileUpdate', $this->order), $request);
$response->assertStatus(302)
->assertSessionHasErrors([
'files.*.artwork'
]);
Правило валидации запрещает файлы .jpg, поэтому в приведенном выше тесте ожидается ошибка валидации. Однако в приведенном выше случае mime-тип для UploadedFile читается как «application / octet-stream», а не как «image / jpeg».
В целях тестирования, есть ли способ установить mime-тип подделки UploadedFile?