Skip to content

Commit

Permalink
Refactor: use client to test the BenefitsAdminSite view (#2362)
Browse files Browse the repository at this point in the history
  • Loading branch information
lalver1 authored Sep 12, 2024
2 parents e29074e + f815beb commit 818efc0
Showing 1 changed file with 18 additions and 13 deletions.
31 changes: 18 additions & 13 deletions tests/pytest/test_admin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import pytest
from django.conf import settings
from django.contrib.auth.models import Group, User
from benefits.admin import BenefitsAdminSite
from django.urls import reverse
from benefits.routes import routes


@pytest.fixture
Expand Down Expand Up @@ -32,8 +33,9 @@ def model_SuperUser(model_User):


@pytest.mark.django_db
def test_admin_override_agency_user_customer_service(app_request, model_AgencyUser, model_TransitAgency):
app_request.user = model_AgencyUser
def test_admin_override_agency_user_customer_service(model_AgencyUser, model_TransitAgency, client):
url = reverse(routes.ADMIN_INDEX)
client.force_login(model_AgencyUser)

# set up TransitAgency with staff_group and customer_service_group
model_TransitAgency.pk = None
Expand All @@ -45,42 +47,45 @@ def test_admin_override_agency_user_customer_service(app_request, model_AgencyUs
# add the user to the customer service group
model_AgencyUser.groups.add(customer_service_group)

response = BenefitsAdminSite().index(app_request)
response = client.get(url)

assert response.status_code == 200
assert response.template_name == "admin/agency-dashboard-index.html"
assert response.context_data["has_permission_for_in_person"] is True


@pytest.mark.django_db
def test_admin_override_agency_user_not_customer_service(app_request, model_AgencyUser, model_TransitAgency):
app_request.user = model_AgencyUser
def test_admin_override_agency_user_not_customer_service(model_AgencyUser, model_TransitAgency, client):
url = reverse(routes.ADMIN_INDEX)
client.force_login(model_AgencyUser)

# set up TransitAgency with only a staff_group
model_TransitAgency.pk = None
model_TransitAgency.staff_group = Group.objects.get(name="CST")
model_TransitAgency.save()

response = BenefitsAdminSite().index(app_request)
response = client.get(url)

assert response.status_code == 200
assert response.template_name == "admin/agency-dashboard-index.html"
assert response.context_data["has_permission_for_in_person"] is False


@pytest.mark.django_db
def test_admin_override_staff_group_user(app_request, model_StaffGroupUser):
app_request.user = model_StaffGroupUser
response = BenefitsAdminSite().index(app_request)
def test_admin_override_staff_group_user(model_StaffGroupUser, client):
url = reverse(routes.ADMIN_INDEX)
client.force_login(model_StaffGroupUser)
response = client.get(url)

assert response.status_code == 200
assert response.template_name == "admin/index.html"


@pytest.mark.django_db
def test_admin_override_super_user(app_request, model_SuperUser):
app_request.user = model_SuperUser
response = BenefitsAdminSite().index(app_request)
def test_admin_override_super_user(model_SuperUser, client):
url = reverse(routes.ADMIN_INDEX)
client.force_login(model_SuperUser)
response = client.get(url)

assert response.status_code == 200
assert response.template_name == "admin/index.html"

0 comments on commit 818efc0

Please sign in to comment.