Wrappers accept item_key where possible

More tests
This commit is contained in:
simonwt 2026-04-16 21:31:32 +01:00
parent 7db5a29081
commit 0bcec8163c
12 changed files with 140 additions and 31 deletions

View file

@ -79,7 +79,7 @@ class TestAPIClient(unittest.TestCase):
self.api_client.make_request("GET", "invalid_endpoint", "test")
@patch('trustcafeapiwrapper.apiclient.requests.request')
@patch('trustcafeapiwrapper.apiclient.requests.Session.request')
def test_make_request(self, mock_request):
# This test should be expanded
# Or the the functions should be broken up more to be more easily testable

View file

@ -32,4 +32,20 @@ class TestReact(unittest.TestCase):
self.assertEqual(result["payload"]["parent"]["pk"], "post#12345-abcv")
self.assertEqual(result["payload"]["parent"]["sk"], "comment#67890")
self.assertEqual(result["payload"]["parent"]["entity"], "comment")
self.assertEqual(result["payload"]["parent"]["slug"], "67890")
self.assertEqual(result["payload"]["parent"]["slug"], "67890")
def react_with_parent_key(self):
reaction_type = 'like'
parent_key = {
'pk': 'post#12345-abcv',
'sk': 'comment#67890'
}
result = react(reaction_type, parent_key=parent_key)
self.assertIsInstance(result, dict)
self.assertIn("job_function", result)
self.assertIn("payload", result)
self.assertEqual(result["job_function"], "reaction.reacttosomething")
self.assertEqual(result["payload"]["reaction"], reaction_type)
self.assertEqual(result["payload"]["parent"]["pk"], "post#12345-abcv")
self.assertEqual(result["payload"]["parent"]["sk"], "comment#67890")

View file

@ -12,4 +12,4 @@ class TestTrustCreateOrUpdate(unittest.TestCase):
self.assertIn("payload", result)
self.assertEqual(result["job_function"], "trust.createorupdate")
self.assertEqual(result["payload"]["trustLevel"], trustLevel)
self.assertEqual(result["payload"]["parentSlug"], "johndoe")
self.assertEqual(result["payload"]["parentSlug"], "johndoe")

View file

@ -90,4 +90,48 @@ class TestUpdatePost(unittest.TestCase):
self.assertEqual(result["payload"]["key"]["sk"], "post#1235-abcv")
self.assertNotIn("slug", result["payload"]["key"])
self.assertEqual(result["payload"]["blurLabel"], blur_label)
self.assertEqual(result["payload"]["cardUrl"], card_url)
self.assertEqual(result["payload"]["cardUrl"], card_url)
def test_update_post_with_post_key(self):
post_key = {
"pk": "maintrunk#maintrunk",
"sk": "post#1235-abcv"
}
result = update_post(
post_key=post_key,
post_text=self.post_text,
blur_label=self.blur_label,
card_url=self.card_url,
collaborative=self.collaborative,
)
self.assertIsInstance(result, dict)
self.assertIn("job_function", result)
self.assertIn("payload", result)
self.assertEqual(result["job_function"], "post.update")
self.assertEqual(result["payload"]["postText"], self.post_text)
self.assertEqual(result["payload"]["postSlug"], "1235-abcv")
self.assertEqual(result["payload"]["key"]["pk"], post_key["pk"])
self.assertEqual(result["payload"]["key"]["sk"], post_key["sk"])
self.assertNotIn("slug", result["payload"]["key"])
def test_update_post_missing_post_text(self):
with self.assertRaises(ValueError) as context:
update_post(
parent_path='/',
post_path='/post/1235-abcv',
post_text=None,
blur_label=self.blur_label,
card_url=self.card_url,
collaborative=self.collaborative
)
self.assertEqual(str(context.exception), "post_text is required.")
def test_update_post_missing_identification(self):
with self.assertRaises(ValueError) as context:
update_post(
post_text=self.post_text,
blur_label=self.blur_label,
card_url=self.card_url,
collaborative=self.collaborative
)
self.assertEqual(str(context.exception), "Either post_path and parent_path or post_key must be provided.")

View file

@ -31,4 +31,23 @@ class TestVoteCast(unittest.TestCase):
self.assertEqual(result["payload"]["parent"]["pk"], "post#12345")
self.assertEqual(result["payload"]["parent"]["sk"], "comment#67890")
self.assertEqual(result["payload"]["parent"]["entity"], "comment")
self.assertEqual(result["payload"]["parent"]["slug"], "67890")
self.assertEqual(result["payload"]["parent"]["slug"], "67890")
def test_vote_cast_with_parent_key(self):
vote = 'up'
parent_key = {
'pk': 'post#12345',
'sk': 'comment#67890'
}
result = votecast(vote, item_key=parent_key)
self.assertIsInstance(result, dict)
self.assertIn("job_function", result)
self.assertIn("payload", result)
self.assertEqual(result["job_function"], "vote.votecast")
self.assertEqual(result["payload"]["vote"], vote)
self.assertEqual(result["payload"]["parent"]["pk"], "post#12345")
self.assertEqual(result["payload"]["parent"]["sk"], "comment#67890")
self.assertEqual(result["payload"]["parent"]["entity"], "comment")
self.assertEqual(result["payload"]["parent"]["slug"], "67890")