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")
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')
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()
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')
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")
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')
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")
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()
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
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
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')
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")
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')
def propose(user): """Score keeping for proposing of issues""" change_score(user, PROPOSE_SCORE)
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")
def propose(user): """Score keeping for proposing of issues""" userprofile = user.get_profile() change_score(userprofile , PROPOSE_SCORE ) userprofile.save()