Ручная ссылка на фиктивный файл в Django HttpRequest для тестирования отправки формы
В Django я пытаюсь создать автоматические тесты для проекта, который включает в себя отправку файла через ModelForm. Одно из полей модели является FileField, и тестовый файл уже помещен в каталог проекта, чтобы на него можно было ссылаться.
Для тестирования отправки формы я создаю фиктивного пользователя и вручную генерирую HttpRequest(), содержащий POST данные. Однако я не знаю, как вручную вставить файл в часть FileField - я предполагаю, что мне нужно как-то сослаться на него, но я не знаю, как именно это сделать.
Тест приведен ниже:
def test_form_submit(self):
user = User.objects.create_user(
username="testuser",
email="asdfasdf@asdf.com",
password="asdfasdf"
)
request = HttpRequest()
request.POST = {
"file": [insert file here], # is a FileField
"name": "Richard",
"date": "2022-01-28",
"desc": "A test submission."
}
form = FileSubmissionForm(request.POST, user=user)
form.save()
self.assertEqual(Submission.objects.count(), 1)
Как правильно ссылаться на файл для этого тестового примера? Фиктивный файл находится по адресу $MEDIA_ROOT/testing/dummy_file.txt.
Спасибо!