Тестирование метода form_valid в Django CreateView
Я пытался протестировать метод form_valid() в моем Django createView и утверждение продолжает возвращать false, я пробовал использовать обычный post запрос с клиентом, а также использовать фабрику запросов, но результат тот же. Ниже представлено мое представление и подходы, которые я пытался использовать для тестирования.
class TextView(CreateView):
model = Text
form_class = TextForm
@transaction.atomic()
def form_valid(self, form):
self.object = form.save()
for i in range(1, form.cleaned_data.get('number_of_pages')+1):
Page.objects.create(text=self.object, number=i)
return super().form_valid(form)
Ниже приведены тесты, которые я
class TestTextView(TestCase):
def setUp(self):
self.form_data = {
'name': 'test',
'template': SimpleUploadedFile('test.pdf', b'content')
}
def test_one(self):
form = TextForm(data=self.form_data)
self.assertTrue(form.is_valid())
def test_two(self):
request = RequestFactory().post('/text')
view = TextView()
view.setup(request)
form = view.form_valid(form=self.form_data)
self.assertTrue(form.is_valid())
По идее, оба теста должны проверить форму на валидность. Но, к сожалению, это не так.