Django тест для страницы, которая перенаправляет

Я пытаюсь написать тест для View, который перенаправляет на dashboard, но у меня что-то не получается. Пользователь должен быть аутентифицирован, прежде чем он/она сможет получить доступ к представлению (членство). В моем urls.py у меня есть что-то вроде

...
path('membership/', MembershipView.as_view(), name='membership'),
...

Тогда мой tests.py содержит

class TestApp(TestCase):
    def test_that_membership_resolves(self):
        client = Client()
        response = client.post('/membership/', {
            # I then pass the necessary values in a dictionary
            ...
            ...
        })
        self.assertRedirects(response, reverse("src:dashboard"))

Но я получаю ошибку, которая говорит

self.assertEqual(
AssertionError: '/login/?next=%2Fmembership%2F' != '/dashboard'
- /login/?next=%2Fmembership%2F
+ /dashboard
 : Response redirected to '/login/?next=/membership/', expected '/dashboard'Expected '/login/?next=/membership/' to equal '/dashboard'.

Я думаю, что он говорит мне сначала войти в систему. У меня уже есть метод test a, который проверяет логин, и тест проходит. Как я могу решить эту проблему?

Тогда просто сначала войдите в систему после установки клиента. Ваше представление работает только при входе в систему, поэтому вам нужно сначала войти в систему?

client.login(email="testuser1@example.com", password="testpass123")

Или любой другой логин пользователя, который работает в вашей тестовой установке

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