В моем view.py у меня есть следующая проверка на нескольких последовательных страницах:
if(request.META.get('HTTP_REFERER') != request.build_absolute_uri(reverse('page1'))):
return redirect('page1')
Это выполняется на каждой странице, проверяя, был ли пользователь перенаправлен с предыдущей страницы, поэтому (например) , если пользователь попытается ввести URL-адрес страницы 4 в адресной строке, тест завершится неудачно, и он будет отправлен на страницу 3, тогда проверка страниц завершится неудачно, и он вернется на страницу 2 и т. д.
Я делаю это, потому что у меня есть несколько связанных страниц, которые пользователи должны посещать последовательно.
Проблема возникает, когда я хочу выполнить модульное тестирование. Следующий тест выдает ошибку, потому что он не проходит тест перенаправления и, следовательно, не может проверить logi c страницы, которую я пытаюсь проверить:
def test_user_information_updated_on_validation_success(self):
user = User.objects.create_superuser('username')
self.client.force_login(user)
self.client.post(reverse('page_4'), {
'exampleQuestion': 'exampleAnswer'
})
user.refresh_from_db()
self.assertEqual(user.exampleform.somefield, 'exampleAnswer')
Как я могу получить доступ к странице в модульном тесте как если бы он был перенаправлен.
Спасибо.