예제 #1
0
파일: vote_test.py 프로젝트: cbelli/spritz
 def test_save_wrong_array(self):
     vote_key = 'vote_key' + str(random.randint(0, 50000))
     self.assertFalse(
         vote_dao.save_vote(self.__votation__.votation_id, vote_key,
                            [1, 2]))
     self.assertFalse(
         vote_dao.save_vote(self.__votation__.votation_id, vote_key,
                            [1, 2, 3, 4]))
예제 #2
0
파일: vote_test.py 프로젝트: cbelli/spritz
 def test_save_ok2(self):
     vote_key = 'vote_key' + str(random.randint(0, 50000))
     self.assertTrue(
         vote_dao.save_vote(self.__votation__.votation_id, vote_key,
                            [1, 2, 2]))
     ar = vote_dao.load_vote_by_key(vote_key)
     self.assertEqual(3, len(ar))
     check = True
     for v in ar:
         if (v.option_id == self.__option1.option_id and \
             v.jud_value == 1) or \
            (v.option_id == self.__option2.option_id and \
            v.jud_value == 2) or \
            (v.option_id == self.__option3.option_id and \
            v.jud_value == 2):
             check = True
         else:
             check = False
     self.assertTrue(check)
예제 #3
0
def save_votes(user_id, vote_key, votation_id, vote_array):
    """
    Save a vote, one rank number per option id.
    The vote in vote_array[0] is for the first option.
    The vote in vote_array[1] is for the second option, and so on.
    Every option need a vote.
    Also, the voter is set as voted.
    """
    u = user.load_user_by_id(user_id)
    if not u:
        return False
    if voter_dao.has_voted(user_id, votation_id):
        ar = vote_dao.load_vote_by_key(vote_key)
        if len(ar) == 0:
            return False
        vote_dao.delete_votes_by_key(vote_key)
    if vote_dao.save_vote(votation_id=votation_id,
                          vote_key=vote_key,
                          array_judgements=vote_array):
        if voter_dao.set_voted(user_id, votation_id):
            db.session.commit()
            return True
    db.session.rollback()
    return False
예제 #4
0
파일: vote_test.py 프로젝트: cbelli/spritz
 def test_save_wrong_votation_id(self):
     vote_key = 'vote_key' + str(random.randint(0, 50000))
     self.assertFalse(vote_dao.save_vote(333333, vote_key, [3, 2, 1]))
예제 #5
0
파일: vote_test.py 프로젝트: cbelli/spritz
 def test_save_null(self):
     vote_key = 'vote_key' + str(random.randint(0, 50000))
     self.assertFalse(
         vote_dao.save_vote(self.__votation__.votation_id, vote_key,
                            [1, 2, None]))