Skip to content

Commit fb64adc

Browse files
committed
test(views): add class-based view test
1 parent 47d68a2 commit fb64adc

1 file changed

Lines changed: 18 additions & 23 deletions

File tree

tests/pytest/core/test_views.py

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,9 @@
33
import pytest
44

55
from benefits.routes import routes
6-
from benefits.core.middleware import TEMPLATE_USER_ERROR
6+
77
from benefits.core.models import EnrollmentFlow, TransitAgency
8-
from benefits.core.views import (
9-
TEMPLATE_INDEX,
10-
bad_request,
11-
csrf_failure,
12-
page_not_found,
13-
server_error,
14-
)
8+
import benefits.core.views as views
159
import benefits.core.session
1610

1711

@@ -57,7 +51,7 @@ def test_index_single_agency(mocker, model_TransitAgency, client, session_reset_
5751

5852
session_reset_spy.assert_called_once()
5953
assert response.status_code == 200
60-
assert response.template_name == TEMPLATE_INDEX
54+
assert response.template_name == views.TEMPLATE_INDEX
6155

6256

6357
@pytest.mark.django_db
@@ -152,7 +146,7 @@ def test_agency_card_without_eligibility_api_flow(
152146
response = client.get(url)
153147

154148
assert response.status_code == 200
155-
assert response.template_name == TEMPLATE_USER_ERROR
149+
assert response.template_name == views.TEMPLATE_USER_ERROR
156150

157151
mocked_session_reset.assert_called()
158152
mocked_session_update.assert_called_once()
@@ -172,14 +166,15 @@ def test_agency_eligibility_index(client, model_TransitAgency, mocked_session_up
172166
assert mocked_session_update.mock_calls[0].kwargs["origin"] == model_TransitAgency.index_url
173167

174168

175-
@pytest.mark.django_db
176-
def test_help(client):
177-
path = reverse(routes.HELP)
178-
179-
response = client.get(path)
169+
class TestHelpView:
170+
@pytest.fixture
171+
def view(self, app_request):
172+
v = views.HelpView()
173+
v.setup(app_request)
174+
return v
180175

181-
assert response.status_code == 200
182-
assert "card" in str(response.content)
176+
def test_view(self, view):
177+
assert view.template_name == "core/help.html"
183178

184179

185180
@pytest.mark.django_db
@@ -193,7 +188,7 @@ def test_help_with_session_agency(client):
193188

194189
@pytest.mark.django_db
195190
def test_bad_request_active_agency(app_request, mocked_active_agency, mocked_session_update):
196-
response = bad_request(app_request, Exception())
191+
response = views.bad_request(app_request, Exception())
197192

198193
assert response.status_code == 400
199194
assert "origin" in mocked_session_update.call_args.kwargs
@@ -202,7 +197,7 @@ def test_bad_request_active_agency(app_request, mocked_active_agency, mocked_ses
202197

203198
@pytest.mark.django_db
204199
def test_bad_request_no_active_agency(app_request, mocked_session_update):
205-
response = bad_request(app_request, Exception())
200+
response = views.bad_request(app_request, Exception())
206201

207202
assert response.status_code == 400
208203
assert "origin" in mocked_session_update.call_args.kwargs
@@ -211,7 +206,7 @@ def test_bad_request_no_active_agency(app_request, mocked_session_update):
211206

212207
@pytest.mark.django_db
213208
def test_csrf_failure_active_agency(app_request, mocked_active_agency, mocked_session_update):
214-
response = csrf_failure(app_request, "reason")
209+
response = views.csrf_failure(app_request, "reason")
215210

216211
assert response.status_code == 404
217212
assert "origin" in mocked_session_update.call_args.kwargs
@@ -220,7 +215,7 @@ def test_csrf_failure_active_agency(app_request, mocked_active_agency, mocked_se
220215

221216
@pytest.mark.django_db
222217
def test_csrf_failure_no_active_agency(app_request, mocked_session_update):
223-
response = csrf_failure(app_request, "reason")
218+
response = views.csrf_failure(app_request, "reason")
224219

225220
assert response.status_code == 404
226221
assert "origin" in mocked_session_update.call_args.kwargs
@@ -249,14 +244,14 @@ def test_not_found_no_active_agency(mocker, client, mocked_session_update):
249244

250245
@pytest.mark.django_db
251246
def test_page_not_found(app_request):
252-
response = page_not_found(app_request, Exception())
247+
response = views.page_not_found(app_request, Exception())
253248

254249
assert response.status_code == 404
255250

256251

257252
@pytest.mark.django_db
258253
def test_server_error(app_request):
259-
response = server_error(app_request)
254+
response = views.server_error(app_request)
260255

261256
assert response.status_code == 500
262257

0 commit comments

Comments
 (0)