Пример #1
0
    def test_create2_op(self):
        """ create 2 opinion leaders
        """
        self.test_create_op()

        levels.change_score(self.users[1], 12)
        self.load_users()
        self.assertEqual(self.profiles[0].role, "opinion leader")
        self.assertEqual(self.profiles[1].role, "opinion leader")
Пример #2
0
    def test_create2_op(self):
        """ create 2 opinion leaders
        """
        self.test_create_op()

        levels.change_score(self.users[1], 12)
        self.load_users()
        self.assertEqual(self.profiles[0].role, 'opinion leader')
        self.assertEqual(self.profiles[1].role, 'opinion leader')
Пример #3
0
def vote(user, issue, direction, voted_already):
    """Score keeping for voting."""

    if not voted_already:
        # User only gets poinst if it is the first vote on the issue.
        change_score(user, VOTE_SCORE)
        if direction in [-1, 1]:
            # Proposer only gets points if the issue gets a for or against vote
            change_score(issue.user, PROPOSE_VOTE_SCORE)
            issue.score += ISSUE_VOTE_SCORE

    # Write all changes back to the database.
    issue.save()
Пример #4
0
def vote(user, issue, direction, voted_already):
    """Score keeping for voting."""

    if not voted_already:
        # User only gets poinst if it is the first vote on the issue.
        change_score(user, VOTE_SCORE)
        if direction in [-1, 1]:
            # Proposer only gets points if the issue gets a for or against vote
            change_score(issue.user, PROPOSE_VOTE_SCORE)
            issue.score += ISSUE_VOTE_SCORE

    # Write all changes back to the database.
    issue.save()
Пример #5
0
 def test_swap_leaders(self):
     self.test_create2_op()
     #now a 3rd opinion leader cannot be created
     #so now p3 becomes active citizen
     self.profiles[2].score = 0
     levels.change_score(self.users[2], 11)
     self.assertEqual(self.profiles[2].role, 'active citizen')
     levels.change_score(self.users[2], +2)
     #now t3 has highest score and will be opinion leader
     self.assertEqual(self.profiles[2].role, 'opinion leader')
     #this is still true because we still have to reload from the database
     self.assertEqual(self.profiles[0].role, 'opinion leader')
     #reload  to see the correct value
     self.load_users()
     self.assertEqual(self.profiles[0].role, 'active citizen')
Пример #6
0
 def test_swap_leaders(self):
     self.test_create2_op()
     # now a 3rd opinion leader cannot be created
     # so now p3 becomes active citizen
     self.profiles[2].score = 0
     levels.change_score(self.users[2], 11)
     self.assertEqual(self.profiles[2].role, "active citizen")
     levels.change_score(self.users[2], +2)
     # now t3 has highest score and will be opinion leader
     self.assertEqual(self.profiles[2].role, "opinion leader")
     # this is still true because we still have to reload from the database
     self.assertEqual(self.profiles[0].role, "opinion leader")
     # reload  to see the correct value
     self.load_users()
     self.assertEqual(self.profiles[0].role, "active citizen")
Пример #7
0
 def test_candidate(self):
     # create 2 opinion leaders
     self.test_create2_op()
     # one votes on the other, so one should become parlement member.
     self.do_vote_user(self.users[0], self.users[1], 1)
     qs = Vote.objects.all()
     self.load_users()
     self.assertEqual(self.profiles[1].role, 'parliament member')
     self.do_vote_user(self.users[1], self.users[0], 1)
     levels.change_score(self.users[2],
                         11)  # make sure user2 can vote on user.
     levels.change_score(self.users[3],
                         11)  # make sure user3 can vote on user.
     levels.change_score(self.users[4],
                         11)  # make sure user4 can vote on user.
     self.load_users()
     self.do_vote_user(self.users[2], self.users[0], 1)
     # now user3 votes on user2 make user2 a candidate..
     self.do_vote_user(self.users[3], self.users[2], 1)
     self.load_users()
     self.assertEqual(self.profiles[2].role, 'candidate')
     # now voting on yourself should do nothing.
     total = Vote.objects.count()
     self.do_vote_user(self.users[2], self.users[2], 1)
     ntotal = Vote.objects.count()
     self.assertEqual(total, ntotal)
     # now user4 votes on user2 which should make him parlement member.
     # and downgrade user1 to candidate
     self.do_vote_user(self.users[4], self.users[2], 1)
     self.load_users()
     self.assertEqual(self.profiles[2].role, 'parliament member')
     self.assertEqual(self.profiles[1].role, 'candidate')
Пример #8
0
 def test_candidate(self):
     # create 2 opinion leaders
     self.test_create2_op()
     # one votes on the other, so one should become parlement member.
     self.do_vote_user(self.users[0], self.users[1], 1)
     qs = Vote.objects.all()
     self.load_users()
     self.assertEqual(self.profiles[1].role, "parliament member")
     self.do_vote_user(self.users[1], self.users[0], 1)
     levels.change_score(self.users[2], 11)  # make sure user2 can vote on user.
     levels.change_score(self.users[3], 11)  # make sure user3 can vote on user.
     levels.change_score(self.users[4], 11)  # make sure user4 can vote on user.
     self.load_users()
     self.do_vote_user(self.users[2], self.users[0], 1)
     # now user3 votes on user2 make user2 a candidate..
     self.do_vote_user(self.users[3], self.users[2], 1)
     self.load_users()
     self.assertEqual(self.profiles[2].role, "candidate")
     # now voting on yourself should do nothing.
     total = Vote.objects.count()
     self.do_vote_user(self.users[2], self.users[2], 1)
     ntotal = Vote.objects.count()
     self.assertEqual(total, ntotal)
     # now user4 votes on user2 which should make him parlement member.
     # and downgrade user1 to candidate
     self.do_vote_user(self.users[4], self.users[2], 1)
     self.load_users()
     self.assertEqual(self.profiles[2].role, "parliament member")
     self.assertEqual(self.profiles[1].role, "candidate")
Пример #9
0
def vote(user, issue, direction , voted_already):
    """Score keeping for voting."""
    
    userprofile = user.get_profile()
    proposerprofile = issue.user.get_profile()

    if not voted_already:
        # User only gets poinst if it is the first vote on the issue.
        change_score(userprofile , VOTE_SCORE ) 
        if direction in [-1, 1]:
            # Proposer only gets points if the issue gets a for or against vote
            change_score(proposerprofile , PROPOSE_VOTE_SCORE )
            issue.score += ISSUE_VOTE_SCORE

    # Update the user's profile with his/her vote.
    if direction == 1: userprofile.total_for += 1
    if direction == -1: userprofile.total_against += 1
    else: userprofile.total_blank += 1

    # Write all changes back to the database.
    issue.save()
    userprofile.save()
Пример #10
0
def vote_user(user, voted_user, direction, voted_already):
    """score keeping for voting on an other user
    """
    if not voted_already:
        # User only gets points if user is the first vote.
        change_score(voted_user, USER_VOTE_SCORE)
        change_score(user, USER_VOTE_SCORE)
    change_score(voted_user, 0)  #check parelement score voted_user
Пример #11
0
def vote_user(user, voted_user, direction, voted_already):
    """score keeping for voting on an other user
    """
    if not voted_already:
        # User only gets points if user is the first vote.
        change_score(voted_user, USER_VOTE_SCORE)
        change_score(user, USER_VOTE_SCORE)
    change_score(voted_user, 0)  # check parelement score voted_user
Пример #12
0
    def test_down_grade(self):
        for p in self.profiles:
            p.score = 33
            p.role = "opinion leader"
            p.save()

        levels.change_score(self.users[0], -self.profiles[0].score + 1)
        self.load_users()
        self.assertEqual(self.profiles[0].role, 'citizen')

        self.profiles[0].score = 11
        self.profiles[0].role = 'opinion leader'
        self.profiles[0].save()

        levels.change_score(self.users[0], 1)
        # now profile 0  should be downgraded to active citizen again
        self.load_users()
        # first p0 will be opl because there are not enough.
        self.assertEqual(self.profiles[0].role, 'opinion leader')
        levels.change_score(self.users[2], 1)
        self.load_users()
        # now p3 will be opl and p1 active citizen
        self.assertEqual(self.profiles[2].role, 'opinion leader')
        self.assertEqual(self.profiles[0].role, 'active citizen')
Пример #13
0
    def test_down_grade(self):
        for p in self.profiles:
            p.score = 33
            p.role = "opinion leader"
            p.save()

        levels.change_score(self.users[0], -self.profiles[0].score + 1)
        self.load_users()
        self.assertEqual(self.profiles[0].role, "citizen")

        self.profiles[0].score = 11
        self.profiles[0].role = "opinion leader"
        self.profiles[0].save()

        levels.change_score(self.users[0], 1)
        # now profile 0  should be downgraded to active citizen again
        self.load_users()
        # first p0 will be opl because there are not enough.
        self.assertEqual(self.profiles[0].role, "opinion leader")
        levels.change_score(self.users[2], 1)
        self.load_users()
        # now p3 will be opl and p1 active citizen
        self.assertEqual(self.profiles[2].role, "opinion leader")
        self.assertEqual(self.profiles[0].role, "active citizen")
Пример #14
0
    def test_create_op(self):
        self.reset()

        levels.change_score(self.users[0], 11)
        self.load_users()
        self.assertEqual(self.profiles[0].role, 'opinion leader')
Пример #15
0
def propose(user):
    """Score keeping for proposing of issues"""
    change_score(user, PROPOSE_SCORE)
Пример #16
0
    def test_create_op(self):
        self.reset()

        levels.change_score(self.users[0], 11)
        self.load_users()
        self.assertEqual(self.profiles[0].role, "opinion leader")
Пример #17
0
def propose(user):
    """Score keeping for proposing of issues"""
    
    userprofile = user.get_profile()
    change_score(userprofile , PROPOSE_SCORE )
    userprofile.save()
Пример #18
0
def propose(user):
    """Score keeping for proposing of issues"""
    change_score(user, PROPOSE_SCORE)