Skip to content

Commit 35c9d40

Browse files
committed
test: introduce admin conftest to use for testing add permissions
extracted from #2654
1 parent ddc0290 commit 35c9d40

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

Diff for: tests/pytest/core/admin/conftest.py

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import pytest
2+
from django.contrib.auth.models import User, Group
3+
4+
5+
@pytest.fixture
6+
def model_AdminUser():
7+
return User.objects.create(email="[email protected]", first_name="", last_name="", username="")
8+
9+
10+
@pytest.fixture
11+
def staff_group(settings):
12+
return Group.objects.get(name=settings.STAFF_GROUP_NAME)
13+
14+
15+
@pytest.fixture
16+
def admin_user_request(model_AdminUser, rf, staff_group):
17+
def _admin_user_request(user_type="staff"):
18+
request = rf.get("/")
19+
request.user = model_AdminUser
20+
21+
model_AdminUser.is_staff = True # a user can log in if and only if this is True
22+
23+
if user_type == "staff":
24+
model_AdminUser.is_superuser = False
25+
staff_group.user_set.add(model_AdminUser)
26+
elif user_type == "super":
27+
model_AdminUser.is_superuser = True
28+
29+
return request
30+
31+
return _admin_user_request

Diff for: tests/pytest/core/admin/test_users.py

-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,6 @@
55
from benefits.core.admin.users import GOOGLE_USER_INFO_URL, is_staff_member, is_staff_member_or_superuser, pre_login_user
66

77

8-
@pytest.fixture
9-
def model_AdminUser():
10-
return User.objects.create(email="[email protected]", first_name="", last_name="", username="")
11-
12-
138
@pytest.mark.django_db
149
def test_admin_registered(client):
1510
response = client.get("/admin", follow=True)

0 commit comments

Comments
 (0)