From f8ed8e1ad3203666d4c0616e7149a773d8211294 Mon Sep 17 00:00:00 2001 From: Angela Tran Date: Wed, 28 Feb 2024 22:16:56 +0000 Subject: [PATCH] test(enrollment): add test coverage for non-HTTPError failure --- benefits/enrollment/views.py | 2 +- tests/pytest/enrollment/test_views.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/benefits/enrollment/views.py b/benefits/enrollment/views.py index 5027182574..71ac35e16b 100644 --- a/benefits/enrollment/views.py +++ b/benefits/enrollment/views.py @@ -98,7 +98,7 @@ def index(request): analytics.returned_error(request, str(e)) raise Exception(f"{e}: {e.response.json()}") except Exception as e: - analytics.returned_error(request, e) + analytics.returned_error(request, str(e)) raise e else: analytics.returned_success(request, eligibility.group_id) diff --git a/tests/pytest/enrollment/test_views.py b/tests/pytest/enrollment/test_views.py index 3308f72916..84799d99f1 100644 --- a/tests/pytest/enrollment/test_views.py +++ b/tests/pytest/enrollment/test_views.py @@ -128,7 +128,7 @@ def test_index_eligible_post_invalid_form(client, invalid_form_data): @pytest.mark.django_db @pytest.mark.usefixtures("mocked_session_agency", "mocked_session_eligibility") -def test_index_eligible_post_valid_form_failure(mocker, client, card_tokenize_form_data): +def test_index_eligible_post_valid_form_http_error(mocker, client, card_tokenize_form_data): mock_client_cls = mocker.patch("benefits.enrollment.views.Client") mock_client = mock_client_cls.return_value @@ -145,6 +145,19 @@ def test_index_eligible_post_valid_form_failure(mocker, client, card_tokenize_fo client.post(path, card_tokenize_form_data) +@pytest.mark.django_db +@pytest.mark.usefixtures("mocked_session_agency", "mocked_session_eligibility") +def test_index_eligible_post_valid_form_failure(mocker, client, card_tokenize_form_data): + mock_client_cls = mocker.patch("benefits.enrollment.views.Client") + mock_client = mock_client_cls.return_value + + mock_client.link_concession_group_funding_source.side_effect = Exception("some other exception") + + path = reverse(ROUTE_INDEX) + with pytest.raises(Exception, match=r"some other exception"): + client.post(path, card_tokenize_form_data) + + @pytest.mark.django_db @pytest.mark.usefixtures("mocked_session_agency", "mocked_session_verifier", "mocked_session_eligibility") def test_index_eligible_post_valid_form_customer_already_enrolled(