Add a test to cover DJANGO_ADMIN_FORCE_ALLAUTH

This commit is contained in:
Matthew Foster Walsh 2024-01-15 22:10:00 -07:00
parent f07aa6010b
commit 49a63f0d9a
No known key found for this signature in database

View File

@ -1,3 +1,8 @@
from importlib import reload
import pytest
from django.contrib import admin
from django.contrib.auth.models import AnonymousUser
from django.urls import reverse
from {{ cookiecutter.project_slug }}.users.models import User
@ -47,3 +52,23 @@ 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
def test_allauth_login(self, rf, settings, force_allauth): # pylint: disable=unused-argument
request = rf.get("/fake-url")
request.user = AnonymousUser()
response = admin.site.login(request)
# The `admin` login view should redirect to the `allauth` login view
assert response.status_code == 302