Esempio n. 1
0
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})
Esempio n. 2
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