mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-02-23 23:12:57 +03:00
Add a test to cover DJANGO_ADMIN_FORCE_ALLAUTH
(#4790)
* Add a test to cover `DJANGO_ADMIN_FORCE_ALLAUTH` * Remove unused fixtures * Test redirect url
This commit is contained in:
parent
5665b617fc
commit
bc06b0da59
|
@ -1,4 +1,10 @@
|
|||
from importlib import reload
|
||||
|
||||
import pytest
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.urls import reverse
|
||||
from pytest_django.asserts import assertRedirects
|
||||
|
||||
from {{ cookiecutter.project_slug }}.users.models import User
|
||||
|
||||
|
@ -47,3 +53,25 @@ class TestUserAdmin:
|
|||
url = reverse("admin:users_user_change", kwargs={"object_id": user.pk})
|
||||
response = admin_client.get(url)
|
||||
assert response.status_code == 200
|
||||
|
||||
@pytest.fixture
|
||||
def force_allauth(self, settings):
|
||||
settings.DJANGO_ADMIN_FORCE_ALLAUTH = True
|
||||
# Reload the admin module to apply the setting change
|
||||
import {{ cookiecutter.project_slug }}.users.admin as users_admin # pylint: disable=import-outside-toplevel
|
||||
|
||||
try:
|
||||
reload(users_admin)
|
||||
except admin.sites.AlreadyRegistered:
|
||||
pass
|
||||
|
||||
@pytest.mark.django_db
|
||||
@pytest.mark.usefixtures("force_allauth")
|
||||
def test_allauth_login(self, rf, settings):
|
||||
request = rf.get("/fake-url")
|
||||
request.user = AnonymousUser()
|
||||
response = admin.site.login(request)
|
||||
|
||||
# The `admin` login view should redirect to the `allauth` login view
|
||||
target_url = reverse(settings.LOGIN_URL) + "?next=" + request.path
|
||||
assertRedirects(response, target_url, fetch_redirect_response=False)
|
||||
|
|
Loading…
Reference in New Issue
Block a user