Самый умный способ проверить представление, если form.is_valid? - PullRequest
0 голосов
/ 17 апреля 2019

В поисках хорошего способа проверить часть представления, которая принадлежит действительной форме:

Views.py:

def calendar_request(request):
    form = create_event(request.POST)
    if form.is_valid():
         date = request.POST['date']
         time = request.POST['time']
         return HttpResponseRedirect(request.path)
    else:
         print('Form not valid')

Поэтому я проверил, является ли форма действительной в моемtests.py:

 def test_form_valid_request(self):
    date = '2019-04-16'
    time = '14:00'
    form_data = {'date':date,
                 'time':time,}
    form = create_event(data=form_data)
    self.assertTrue(form.is_valid)

Это сработало довольно хорошо.Поэтому я продолжил, добавив в свою тестовую функцию следующие строки:

   response = client.get(reverse('test_form'), form_data)
   self.assertEqual(response.status_code, 200)

Меня смущает то, что AssertTrue (form.is_valid) работает во время тестирования, но в консоли всегда отображается печать («Форма недействительна»«).

Как проверить деталь в моем представлении, если form.is_valid?

1 Ответ

1 голос
/ 17 апреля 2019

assertTrue(expr, msg=None) чеков bool(x) is True, а не x is True

Итак, вы должныесть вызов функции (используйте парантез)

self.assertTrue(form.is_valid<b>()</b>)
                             <b>^^ here</b>
...