def vote(request): user = request.user if user: rec_id = request.get_form_var('rec_id') r = Recommendation.get(rec_id) if r: r.add_vote(user.name) return json.dumps({'r': 1}) return json.dumps({'r': 0})
def test_recommendation_vote(self): self.clean_up() content = 'Goooooood!' r1 = Recommendation.add(self.user2, self.user1, content) assert r1.from_user == self.user2 assert r1.to_user == self.user1 assert r1.content == content r1.add_vote(self.user3) r1.add_vote(self.user4) assert Recommendation.get( r1.id).n_vote == len([self.user3, self.user4]) # duplicate vote r1.add_vote(self.user3) r1 = Recommendation.get(r1.id) assert Recommendation.get( r1.id).n_vote == len([self.user3, self.user4]) assert r1.is_voted(self.user5) is False # last vote r1.add_vote(self.user5) assert Recommendation.get( r1.id).n_vote == len([self.user3, self.user4, self.user5]) # check sord, more vote more ahead r2 = Recommendation.add(self.user3, self.user1, content) rs = Recommendation.gets_by_user(self.user1) assert len(rs) == len([self.user2, self.user3]) # check default sort assert rs[0].id == r1.id assert r1.is_voted(self.user3) assert r1.is_voted(self.user4) assert r1.is_voted(self.user5) assert r1.is_voted(self.user1) is False assert r2.is_voted(self.user2) is False assert r2.is_voted(self.user3) is False assert r2.is_voted(self.user5) is False