Как проверить Django CreateView и form_valid - PullRequest
0 голосов
/ 24 октября 2018

Это может быть очень просто, но я все еще не понимаю, как проверить Django CreateView, у которого есть метод form_valid(self, form)?

Вот мой код:

class NewPatientFormView(LoginRequiredMixin, CreateView):
    model = Patient
    fields = ['name', 'surname', 'phone', 'email', 'PESEL', 'age',
          'patient_agreement']

    def form_valid(self, form):
        self.object = form.save(commit=False)
        self.object.created_by_user = self.request.user
        self.object.save()
        return super().form_valid(form)`

Я использую pytest и просто не понимаю, как его протестировать.Я был бы очень благодарен за короткий пример, как это можно проверить ... Спасибо!

1 Ответ

0 голосов
/ 29 октября 2018

Я полагаю, что вам нужно будет создать данные поста и т. Д. В setUp вашего теста.

class NewPatientFormTest(TestCase):

    def setUp(self):
        self.form_data = {
            'name': 'Billy',
            'surname': 'Masters',
            'phone': '123-358-2382',
            *...the rest of your form data...*
        }

В вашем setUp убедитесь, что остальные ваши данные настроены правильно.Затем используйте свой тест - вероятно, что-то вроде этого:

def test_new_patient_form_is_valid(self):
    form = NewPatientForm(data=self.form_data)
    self.assertTrue(form.is_valid())

Очевидно, что это очень упрощенно - но вы должны получить правильное направление при получении этого теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...