コード例 #1
0
    def test_update_vote():
        value = 3
        for voter_id, _, _ in EXISTING_VOTES:
            Vote.update(voter_id, voted_id=value)

        votes = Vote.find_all()
        for vote in votes:
            assert vote.voted_id == value
コード例 #2
0
 def test_add_vote(session):
     room_id = 3
     voter_id = 4
     voted_id = 4
     Vote.add(Vote(voter_id, room_id, voted_id))
     vote = session.query(Vote).filter_by(voter_id=voter_id).first()
     assert vote.room_id == room_id
     assert vote.voter_id == voter_id
     assert vote.voted_id == voted_id
コード例 #3
0
    def test_delete(session):
        voter_id, _, _ = EXISTING_VOTES[0]
        room_id, _ = EXISTING_POLLS[0]
        Vote.delete(voter_id)
        Poll.delete(room_id)
        vote = session.query(Vote).get(voter_id)
        poll = session.query(Poll).get(room_id)

        assert vote is None
        assert poll is None
コード例 #4
0
 def populate_db(session):
     for room_id, msg_id in EXISTING_POLLS:
         session.add(Poll(room_id, msg_id))
     for voter_id, room_id, voted_id in EXISTING_VOTES:
         session.add(Vote(voter_id, room_id, voted_id))
     session.commit()
     yield
     session.query(Poll).delete()
     session.query(Vote).delete()
コード例 #5
0
def vote_player(room_id, voted_id, voter_id):
    new_vote = Vote(voter_id, room_id, voted_id)
    Vote.add(new_vote)
    return decide_vote_states(room_id)
コード例 #6
0
 def check_voter_valid(room_id, voter_id):  # room_id used inside decorator
     vote = Vote.get(voter_id)
     if vote is not None:
         data = {"player": voter_id}
         return [GameState(Status.VOTE_EXISTS, data)]
コード例 #7
0
ファイル: helpers.py プロジェクト: salsanads/undercover-bot
def clear_game(room_id):
    Player.delete(room_id)
    PlayingRole.delete(room_id)
    Vote.delete_all(room_id)
    Poll.delete(room_id)
コード例 #8
0
ファイル: helpers.py プロジェクト: salsanads/undercover-bot
def count_vote(room_id):
    votes = Vote.find_all(room_id=room_id)
    tally = Counter()
    for vote in votes:
        tally[vote.voted_id] += 1
    return tally, len(votes)
コード例 #9
0
def terminate_poll(room_id):
    Vote.delete_all(room_id)
    Poll.delete(room_id)
コード例 #10
0
 def test_find_all_votes():
     votes = Vote.find_all(room_id=1)
     assert len(votes) == 2
     for vote in votes:
         print(vote.voter_id, vote.room_id, vote.voted_id)
コード例 #11
0
 def test_delete_all_votes(session):
     room_id = 1
     Vote.delete_all(room_id)
     votes = session.query(Vote).all()
     assert len(votes) == 1
コード例 #12
0
 def test_add_duplicate_vote():
     voter_id, room_id, voted_id = EXISTING_VOTES[-1]
     with pytest.raises(Exception):
         Vote.add(Vote(voter_id, room_id, voted_id))