AssertRedirects в тесте вида django не работает
Я создал тестовый пример для проверки моего пользовательского декоратора login_required.
Это мой декоратор:
def login_required(view_func):
@wraps(view_func)
def wrapped_view(request, *args, **kwargs):
# Check if the user is logged in
if request.user.is_authenticated:
return view_func(request, *args, **kwargs)
else:
return redirect('/auth/login')
return wrapped_view
Вот мой тестовый пример:
class RegisterViewTests(TestCase):
def setUp(self):
self.client = Client()
def test_register_view_get_not_authenticated(self):
response = self.client.get(reverse('register'))
print(response.url)
self.assertRedirects(response, '/auth/login')
Здесь, когда я печатаю response.url, я получаю '/auth/login', но когда я использую то же самое для проверки перенаправления, я получаю эту ошибку:
FAIL: test_register_view_get_not_authenticated (authentication.tests.test_views.RegisterViewTests.test_register_view_get_not_authenticated)
Отслеживание (последний последний вызов):
Файл "F:\Ayush\CODE\DJANGO\final\project\CBBB Group 1\final_repo\authentication\tests\test_views.py", строка 61, in test_register_view_get_not_authenticated
self.assertRedirects(response, reverse('login_view'))
Файл "F:\Ayush\CODE\DJANGO\final\project\CBBB Group 1\final_repo\venv\Lib\site-packages\django\test\testcases.py", строка 432, in assertRedirects
.
self.assertEqual(
AssertionError: 301 != 200 : Не удалось получить страницу перенаправления '/auth/login': код ответа был 301 (ожидалось 200)
Выполнили 1 тест за 0,033 с
FAILED (failures=1)
Я попробовал использовать reverse('login') внутри assertRedirects, но это все равно дало ту же ошибку.