Django file upload testcase: как отправить в запросе и данные формы, и файлы
Я хочу написать тест-кейс для страницы загрузки файлов, на которой также есть другие формы. Поэтому я придумал следующий код:
file_b = open(test_file2, 'rb')
file_c = open(test_file3, 'rb')
form_data = {'form_field_1': 'abc', 'form_field_2': 'def'}
form_data = form_data.update({'file_name': self.file_b, 'co-file_name': self.file_c})
self.client.post(reverse('overrun_cause_modal', kwargs={'workflowid': self.wf_id}), data=form_data, format='multipart')
приведенный выше код привел к тому, что форма стала недействительной:
form = WorkflowForm(data=form_data)
form.is_valid() --> False
если я прокомментирую:
form_data = form_data.update({'file_name': self.file_b, 'co-file_name': self.file_c})
тогда форма действительна.
Как я могу отправить данные формы и файлы в запросе так, чтобы принимающее представление имело доступ к:
a valid regular form
request.FILES['file_name']
request.FILES['co-file_name']
request.FILES['file_name'].name
request.FILES['co-file_name'].name