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, но это все равно дало ту же ошибку.

Вернуться на верх