Я сделал TestCase
, чтобы проверить, получу ли я правильный ответ и перенаправление страницы, но это не работает так, как я думал. Когда я попробовал действительную форму, я получил ожидаемый ответ, но когда я сделал ее недействительной, я все равно получил тот же ответ.
views.py (я остановил 'GET' 'else:')
def create_employee_profile(request):
if request.POST:
name_form = EmployeeNameForm(request.POST)
if name_form.is_valid():
new_name_form = name_form.save()
return redirect(new_name_form)
else:
return render(request,
'service/create_or_update_profile.html',
{'name_form': name_form}
)
Test.py
class TestCreateEmployeeProfileView(TestCase):
def test_redirect_on_success(self):
response = self.client.post('/service/', {
'first_name': 'Test', # Required
'middile_name': 'Testy', # Optional
'last_name': '', # Required
})
self.assertEqual(response.status_code, 200)
Полагаю, пока я задаю вопрос, я также могу спросить, как получить доступ к redirect
, чтобы проверить это.
В случае успеха новый путь должен быть /service/name/1/
, где «1» - это «pk» созданного объекта.
Я знаю, что видел SimpleTestCase
, но я не нашел хорошего примера или учебника по его использованию.