Skip to content

Commit 114f796

Browse files
author
matthewkrausse
committed
Update ActionNetwork methods to return Parsons Table instead of JSON
1 parent d419d30 commit 114f796

File tree

2 files changed

+25
-9
lines changed

2 files changed

+25
-9
lines changed

parsons/action_network/action_network.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1805,7 +1805,8 @@ def get_surveys(self, limit=None, per_page=25, page=None, filter=None):
18051805
When None, no filter is applied.
18061806
18071807
`Returns:`
1808-
A JSON with all of the survey entries
1808+
Parsons Table
1809+
A Table with all of the survey entries
18091810
`Documentation Reference`:
18101811
https://actionnetwork.org/docs/v2/surveys
18111812
"""
@@ -1821,13 +1822,15 @@ def get_survey(self, survey_id):
18211822
survey_id:
18221823
The unique id of the survey
18231824
`Returns:`
1824-
A JSON with the survey entry
1825+
Parsons Table
1826+
A Table with the survey entry
18251827
`Documentation Reference`:
18261828
https://actionnetwork.org/docs/v2/surveys
18271829
"""
1828-
return self.api.get_request(f"surveys/{survey_id}")
1830+
response = self.api.get_request(f"surveys/{survey_id}")
1831+
return Table([response])
18291832

1830-
def create_survey(self, title, description=None, call_to_action=None,
1833+
def create_survey(self, title, description=None, call_to_action=None,
18311834
browser_url=None, featured_image_url=None, origin_system=None,
18321835
identifiers=None, background_processing=False, **kwargs):
18331836
"""
@@ -1949,7 +1952,8 @@ def get_survey_responses(self, survey_id, limit=None, per_page=25, page=None, fi
19491952
When None, no filter is applied.
19501953
19511954
`Returns:`
1952-
A JSON with all response entries for the survey
1955+
Parsons Table
1956+
A Table with all response entries for the survey
19531957
`Documentation Reference`:
19541958
https://actionnetwork.org/docs/v2/responses
19551959
"""
@@ -1968,11 +1972,13 @@ def get_survey_response(self, survey_id, response_id):
19681972
The unique id of the response
19691973
19701974
`Returns:`
1971-
A JSON with the response entry
1975+
Parsons Table
1976+
A Table with the response entry
19721977
`Documentation Reference`:
19731978
https://actionnetwork.org/docs/v2/responses
19741979
"""
1975-
return self.api.get_request(f"surveys/{survey_id}/responses/{response_id}")
1980+
response = self.api.get_request(f"surveys/{survey_id}/responses/{response_id}")
1981+
return Table([response])
19761982

19771983
# Tags
19781984
def get_tags(self, limit=None, per_page=None):

test/test_action_network/test_action_network.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4441,7 +4441,12 @@ def test_get_survey(self, m):
44414441
f"{self.api_url}/surveys/{self.fake_survey_id_1}",
44424442
text=json.dumps(self.fake_survey),
44434443
)
4444-
assert self.an.get_survey(self.fake_survey_id_1) == self.fake_survey
4444+
result = self.an.get_survey(self.fake_survey_id_1)
4445+
# Verify it returns a Parsons Table
4446+
assert isinstance(result, Table), f"Expected Table, got {type(result)}"
4447+
# Verify the Table contains the survey data
4448+
expected_table = Table([self.fake_survey])
4449+
assert_matching_tables(result, expected_table)
44454450

44464451
@requests_mock.Mocker()
44474452
def test_create_survey(self, m):
@@ -4490,7 +4495,12 @@ def test_get_survey_response(self, m):
44904495
f"{self.api_url}/surveys/{self.fake_survey_id_1}/responses/{self.fake_response_id_1}",
44914496
text=json.dumps(self.fake_survey_response),
44924497
)
4493-
assert self.an.get_survey_response(self.fake_survey_id_1, self.fake_response_id_1) == self.fake_survey_response
4498+
result = self.an.get_survey_response(self.fake_survey_id_1, self.fake_response_id_1)
4499+
# Verify it returns a Parsons Table
4500+
assert isinstance(result, Table), f"Expected Table, got {type(result)}"
4501+
# Verify the Table contains the response data
4502+
expected_table = Table([self.fake_survey_response])
4503+
assert_matching_tables(result, expected_table)
44944504

44954505
# Tags
44964506
@requests_mock.Mocker()

0 commit comments

Comments
 (0)