Skip to content

Commit c28fdab

Browse files
committed
refactor(test): consolidate user_type conditional logic into fixture
1 parent d5fa891 commit c28fdab

File tree

2 files changed

+24
-37
lines changed

2 files changed

+24
-37
lines changed

tests/pytest/core/admin/conftest.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,19 @@ def staff_group(settings):
1313

1414

1515
@pytest.fixture
16-
def admin_request(model_AdminUser, rf, staff_group):
17-
def _admin_request(is_superuser=False, is_staff_member=False):
16+
def admin_user_request(model_AdminUser, rf, staff_group):
17+
def _admin_user_request(user_type="staff"):
1818
request = rf.get("/")
1919
request.user = model_AdminUser
20-
model_AdminUser.is_superuser = is_superuser
20+
2121
model_AdminUser.is_staff = True # a user can log in if and only if this is True
22-
if is_staff_member:
22+
23+
if user_type == "staff":
24+
model_AdminUser.is_superuser = False
2325
staff_group.user_set.add(model_AdminUser)
26+
elif user_type == "super":
27+
model_AdminUser.is_superuser = True
28+
2429
return request
2530

26-
return _admin_request
31+
return _admin_user_request

tests/pytest/core/admin/test_enrollment.py

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ def flow_admin_model():
2020
@pytest.mark.django_db
2121
class TestEnrollmentEventAdmin:
2222

23-
def test_get_readonly_fields(self, admin_request, event_admin_model):
24-
request = admin_request(is_superuser=False, is_staff_member=False)
23+
def test_get_readonly_fields(self, admin_user_request, event_admin_model):
24+
request = admin_user_request()
2525
assert event_admin_model.get_readonly_fields(request) == ["id"]
2626

2727
@pytest.mark.parametrize(
@@ -35,7 +35,7 @@ def test_get_readonly_fields(self, admin_request, event_admin_model):
3535
)
3636
def test_has_add_permission(
3737
self,
38-
admin_request,
38+
admin_user_request,
3939
event_admin_model,
4040
settings,
4141
runtime_env,
@@ -44,10 +44,7 @@ def test_has_add_permission(
4444
):
4545
settings.RUNTIME_ENVIRONMENT = lambda: runtime_env
4646

47-
if user_type == "staff":
48-
request = admin_request(is_superuser=False, is_staff_member=True)
49-
elif user_type == "super":
50-
request = admin_request(is_superuser=True, is_staff_member=False)
47+
request = admin_user_request(user_type)
5148

5249
assert event_admin_model.has_add_permission(request) == expected
5350

@@ -62,7 +59,7 @@ def test_has_add_permission(
6259
)
6360
def test_has_change_permission(
6461
self,
65-
admin_request,
62+
admin_user_request,
6663
event_admin_model,
6764
settings,
6865
runtime_env,
@@ -71,10 +68,7 @@ def test_has_change_permission(
7168
):
7269
settings.RUNTIME_ENVIRONMENT = lambda: runtime_env
7370

74-
if user_type == "staff":
75-
request = admin_request(is_superuser=False, is_staff_member=True)
76-
elif user_type == "super":
77-
request = admin_request(is_superuser=True, is_staff_member=False)
71+
request = admin_user_request(user_type)
7872

7973
assert event_admin_model.has_change_permission(request) == expected
8074

@@ -85,11 +79,8 @@ def test_has_change_permission(
8579
("super", True),
8680
],
8781
)
88-
def test_has_view_permission(self, admin_request, event_admin_model, user_type, expected):
89-
if user_type == "staff":
90-
request = admin_request(is_superuser=False, is_staff_member=True)
91-
elif user_type == "super":
92-
request = admin_request(is_superuser=True, is_staff_member=False)
82+
def test_has_view_permission(self, admin_user_request, event_admin_model, user_type, expected):
83+
request = admin_user_request(user_type)
9384

9485
assert event_admin_model.has_view_permission(request) == expected
9586

@@ -114,11 +105,8 @@ class TestEnrollmentFlowAdmin:
114105
("super", None),
115106
],
116107
)
117-
def test_get_exclude(self, admin_request, flow_admin_model, user_type, expected):
118-
if user_type == "staff":
119-
request = admin_request(is_superuser=False, is_staff_member=True)
120-
elif user_type == "super":
121-
request = admin_request(is_superuser=True, is_staff_member=False)
108+
def test_get_exclude(self, admin_user_request, flow_admin_model, user_type, expected):
109+
request = admin_user_request(user_type)
122110

123111
excluded = flow_admin_model.get_exclude(request)
124112

@@ -147,11 +135,8 @@ def test_get_exclude(self, admin_request, flow_admin_model, user_type, expected)
147135
("super", ()),
148136
],
149137
)
150-
def test_get_readonly_fields(self, admin_request, flow_admin_model, user_type, expected):
151-
if user_type == "staff":
152-
request = admin_request(is_superuser=False, is_staff_member=True)
153-
elif user_type == "super":
154-
request = admin_request(is_superuser=True, is_staff_member=False)
138+
def test_get_readonly_fields(self, admin_user_request, flow_admin_model, user_type, expected):
139+
request = admin_user_request(user_type)
155140

156141
readonly = flow_admin_model.get_readonly_fields(request)
157142

@@ -168,7 +153,7 @@ def test_get_readonly_fields(self, admin_request, flow_admin_model, user_type, e
168153
)
169154
def test_has_add_permission(
170155
self,
171-
admin_request,
156+
admin_user_request,
172157
flow_admin_model,
173158
settings,
174159
runtime_env,
@@ -177,9 +162,6 @@ def test_has_add_permission(
177162
):
178163
settings.RUNTIME_ENVIRONMENT = lambda: runtime_env
179164

180-
if user_type == "staff":
181-
request = admin_request(is_superuser=False, is_staff_member=True)
182-
else:
183-
request = admin_request(is_superuser=True, is_staff_member=False)
165+
request = admin_user_request(user_type)
184166

185167
assert flow_admin_model.has_add_permission(request) == expected

0 commit comments

Comments
 (0)