diff --git a/littlepay/api/groups.py b/littlepay/api/groups.py index ff7d424..a91eeae 100644 --- a/littlepay/api/groups.py +++ b/littlepay/api/groups.py @@ -2,7 +2,7 @@ from datetime import datetime, timezone from typing import Generator -from littlepay.api import ClientProtocol, ListResponse +from littlepay.api import ClientProtocol from littlepay.api.funding_sources import FundingSourceDateFields, FundingSourcesMixin @@ -100,13 +100,9 @@ def link_concession_group_funding_source(self, group_id: str, funding_source_id: return self._post(endpoint, data, dict) - def update_concession_group_funding_source_expiry( - self, group_id: str, funding_source_id: str, expiry: datetime - ) -> GroupFundingSourceResponse: + def update_concession_group_funding_source_expiry(self, group_id: str, funding_source_id: str, expiry: datetime) -> dict: """Update the expiry of a funding source already linked to a concession group.""" endpoint = self.concession_group_funding_source_endpoint(group_id, funding_source_id) data = {"expiry": self._format_expiry(expiry)} - response = self._put(endpoint, data, ListResponse) - - return GroupFundingSourceResponse(**response.list[0]) + return self._put(endpoint, data, dict) diff --git a/tests/api/test_groups.py b/tests/api/test_groups.py index 91d1d41..16d4f7a 100644 --- a/tests/api/test_groups.py +++ b/tests/api/test_groups.py @@ -64,10 +64,9 @@ def mock_ClientProtocol_post_link_concession_group_funding_source(mocker): @pytest.fixture -def mock_ClientProtocol_put_update_concession_group_funding_source(mocker, ListResponse_GroupFundingSources): - return mocker.patch( - "littlepay.api.ClientProtocol._put", side_effect=lambda *args, **kwargs: ListResponse_GroupFundingSources - ) +def mock_ClientProtocol_put_update_concession_group_funding_source(mocker): + response = {"status_code": 204} + return mocker.patch("littlepay.api.ClientProtocol._put", side_effect=lambda *args, **kwargs: response) def test_GroupResponse_csv(): @@ -302,7 +301,7 @@ def test_GroupsMixin_link_concession_group_funding_source_expiry( def test_GroupsMixin_update_concession_group_funding_source_expiry( - mock_ClientProtocol_put_update_concession_group_funding_source, ListResponse_GroupFundingSources, mocker + mock_ClientProtocol_put_update_concession_group_funding_source, mocker ): client = GroupsMixin() mocker.patch.object(client, "_format_expiry", return_value="formatted expiry") @@ -311,8 +310,7 @@ def test_GroupsMixin_update_concession_group_funding_source_expiry( endpoint = client.concession_group_funding_source_endpoint("group-1234", "funding-source-1234") mock_ClientProtocol_put_update_concession_group_funding_source.assert_called_once_with( - endpoint, {"expiry": "formatted expiry"}, ListResponse + endpoint, {"expiry": "formatted expiry"}, dict ) - expected = GroupFundingSourceResponse(**ListResponse_GroupFundingSources.list[0]) - assert result == expected + assert result == {"status_code": 204}