Comment rating: fixed bug where new ratings weren't returned on no-op.

This commit is contained in:
Sybren A. Stüvel 2016-07-28 12:08:40 +02:00
parent 7365fb10cd
commit ed863447cf
2 changed files with 18 additions and 14 deletions

View File

@ -82,15 +82,15 @@ def patch_comment(node_id, patch):
action = actions[patch['op']]
mongo_update = action()
if not mongo_update:
return jsonify({'_status': 'OK', 'result': 'no-op'})
log.info('Running %s', mongo_update)
if rating:
result = nodes_coll.update_one({'_id': node_id, 'properties.ratings.user': user_id},
mongo_update)
if mongo_update:
log.info('Running %s', mongo_update)
if rating:
result = nodes_coll.update_one({'_id': node_id, 'properties.ratings.user': user_id},
mongo_update)
else:
result = nodes_coll.update_one({'_id': node_id}, mongo_update)
else:
result = nodes_coll.update_one({'_id': node_id}, mongo_update)
result = 'no-op'
# Fetch the new ratings, so the client can show these without querying again.
node = nodes_coll.find_one(node_id,

View File

@ -36,9 +36,11 @@ class PatchCommentTest(AbstractPillarTest):
def test_upvote_other_comment(self):
# Patch the node
self.patch(self.node_url,
json={'op': 'upvote'},
auth_token='token')
res = self.patch(self.node_url,
json={'op': 'upvote'},
auth_token='token').json()
self.assertEqual(1, res['properties']['rating_positive'])
self.assertEqual(0, res['properties']['rating_negative'])
# Get the node again, to inspect its changed state.
patched_node = self.get(self.node_url, auth_token='token').json()
@ -55,9 +57,11 @@ class PatchCommentTest(AbstractPillarTest):
def test_downvote_other_comment(self):
# Patch the node
self.patch(self.node_url,
json={'op': 'downvote'},
auth_token='token').json()
res = self.patch(self.node_url,
json={'op': 'downvote'},
auth_token='token').json()
self.assertEqual(0, res['properties']['rating_positive'])
self.assertEqual(1, res['properties']['rating_negative'])
# Get the node again, to inspect its changed state.
patched_node = self.get(self.node_url, auth_token='token').json()