Redirection in PyTest Django doesn't work

I am trying to create tests for my login and signup process in my Django App with Pytest.

When you signup ("/signup", home/register.html) you should be redirected to login page ("/login", home/login.html). After successfull login you shoul be redirected do welcome page ("", home/welcome.html).

I created 2 tests for signup and it works.

Unfortunetly I have problem with login and checking redirection to welcome page. Here is my test:

@pytest.mark.django_db
def test_login_redirect_to_welcome_for_authenticated_user(client):
    user = User.objects.create_user('Test', 'test@test.pl', 'password')
    client.login(username=user.username, password='password')

    response = client.get(path='/login', follow = True)

    assert response.status_code == 200
    assert 'home/welcome.html' in response.template_name

I logged the user on login page, set follow to true. And now I want to check if I am redirected to Welcome Page. Unfortunetly I have got this error:

client = <django.test.client.Client object at 0x1030db460>

    @pytest.mark.django_db
    def test_login_redirect_to_welcome_for_authenticated_user(client):
    user = User.objects.create_user('Test', 'test@test.pl', 'password')
    client.login(username=user.username, password='password')

    response = client.get(path='/login', follow = True)

assert response.status_code == 200
>       assert 'home/welcome.html' in response.template_name
E       assert 'home/welcome.html' in ['home/login.html']
E        +  where ['home/login.html'] = <TemplateResponse status_code=200, "text/html; charset=utf-8">.template_name

home/tests/test_login.py:18: AssertionError

FAILED home/tests/test_login.py::test_login_redirect_to_welcome_for_authenticated_user - assert 'home/welcome.html' in ['home/login.html']

Do you know how I can fix this?

Back to Top