forked from DGNum/gestioCOF
Make bds tests resilient to LOGIN_URL changes
This commit is contained in:
parent
5c1e2e9cda
commit
ac06211841
1 changed files with 12 additions and 5 deletions
|
@ -1,9 +1,10 @@
|
||||||
from unittest import mock
|
from unittest import mock
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.auth.models import Permission
|
from django.contrib.auth.models import Permission
|
||||||
from django.test import Client, TestCase
|
from django.test import Client, TestCase
|
||||||
from django.urls import reverse
|
from django.urls import reverse, reverse_lazy
|
||||||
|
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
|
|
||||||
|
@ -13,6 +14,14 @@ def give_bds_buro_permissions(user: User) -> None:
|
||||||
user.user_permissions.add(perm)
|
user.user_permissions.add(perm)
|
||||||
|
|
||||||
|
|
||||||
|
def login_url(next=None):
|
||||||
|
login_url = reverse_lazy(settings.LOGIN_URL)
|
||||||
|
if next is None:
|
||||||
|
return login_url
|
||||||
|
else:
|
||||||
|
return "{}?next={}".format(login_url, next)
|
||||||
|
|
||||||
|
|
||||||
class TestRegistrationView(TestCase):
|
class TestRegistrationView(TestCase):
|
||||||
@mock.patch("gestioncof.signals.messages")
|
@mock.patch("gestioncof.signals.messages")
|
||||||
def test_get_autocomplete(self, mock_messages):
|
def test_get_autocomplete(self, mock_messages):
|
||||||
|
@ -22,8 +31,7 @@ class TestRegistrationView(TestCase):
|
||||||
|
|
||||||
# Anonymous GET
|
# Anonymous GET
|
||||||
resp = client.get(url)
|
resp = client.get(url)
|
||||||
redirect_url = "/login?next={}".format(url)
|
self.assertRedirects(resp, login_url(next=url))
|
||||||
self.assertRedirects(resp, redirect_url)
|
|
||||||
|
|
||||||
# Logged-in but unprivileged GET
|
# Logged-in but unprivileged GET
|
||||||
client.force_login(user)
|
client.force_login(user)
|
||||||
|
@ -44,8 +52,7 @@ class TestRegistrationView(TestCase):
|
||||||
|
|
||||||
# Anonymous GET
|
# Anonymous GET
|
||||||
resp = client.get(url)
|
resp = client.get(url)
|
||||||
redirect_url = "/login?next={}".format(url)
|
self.assertRedirects(resp, login_url(next=url))
|
||||||
self.assertRedirects(resp, redirect_url)
|
|
||||||
|
|
||||||
# Logged-in but unprivileged GET
|
# Logged-in but unprivileged GET
|
||||||
client.force_login(user)
|
client.force_login(user)
|
||||||
|
|
Loading…
Add table
Reference in a new issue