def revisions_more(id): review = get_review_or_404(id) # Not showing review if it isn't published yet and not viewed by author. if review["is_draft"] and not (current_user.is_authenticated and current_user == review["user"]): raise NotFound("Can't find a review with the specified ID.") if review["is_hidden"] and not current_user.is_admin(): raise NotFound(gettext("Review has been hidden.")) page = int(request.args.get('page', default=0)) offset = page * RESULTS_LIMIT try: count = db_revision.get_count(id) revisions = db_revision.get(id, limit=RESULTS_LIMIT, offset=offset) except db_exceptions.NoDataFoundException: raise NotFound( gettext("The revision(s) you are looking for does not exist.")) votes = db_revision.get_all_votes(id) results = list( zip(reversed(range(count - offset - RESULTS_LIMIT, count - offset)), revisions)) template = render_template('review/revision_results.html', review=review, results=results, votes=votes, count=count) return jsonify(results=template, more=(count - offset - RESULTS_LIMIT) > 0)
def test_get_all_votes(self): """Test to get the number of votes on revisions of a review""" review_id = self.review["id"] revision.get_count(review_id) first_revision = revision.get(review_id)[0] vote.submit(self.user_1.id, first_revision['id'], True) vote.submit(self.user_2.id, first_revision['id'], False) votes = revision.get_all_votes(review_id) votes_first_revision = votes[first_revision['id']] self.assertDictEqual(votes_first_revision, { "positive": 1, "negative": 1 })