Exemplo n.º 1
0
 def handle_message(self, message: MessageEvent) -> Optional[str]:
     if message.command == 'votes':
         response = []
         for arg in message.args:
             record = get_votes_record(arg)
             response.append(
                 f'{record.label} has {self.__format_score(record.votes)}')
         return '\n'.join(response)
     elif message.command in ('upvote', '++') and len(message.args) == 1:
         return self.__do_upvote(message.username, message.args[0])
     elif message.command in ('downvote', '--') and len(message.args) == 1:
         return self.__do_downvote(message.username, message.args[0])
Exemplo n.º 2
0
 def test_upvote_user_has_one_vote(self):
     self.send_reaction('upvote', 'user_a', 'user_b')
     record = get_votes_record('user_b')
     self.assertEqual(record.votes, 1)
Exemplo n.º 3
0
 def test_downvote_via_alias(self):
     self.send_message('?-- stonks')
     self.send_message('?-- stonks')
     self.send_message('?-- stonks')
     record = get_votes_record('stonks')
     self.assertEqual(record.votes, -3)
Exemplo n.º 4
0
 def test_upvote_via_alias(self):
     self.send_message('?++ stonks')
     self.send_message('?++ stonks')
     self.send_message('?++ stonks')
     record = get_votes_record('stonks')
     self.assertEqual(record.votes, 3)
Exemplo n.º 5
0
 def test_upvote_via_cmd(self):
     self.send_message('?upvote stonks')
     record = get_votes_record('stonks')
     self.assertEqual(record.votes, 1)
Exemplo n.º 6
0
 def test_vote_query(self):
     reply = self.send_message('?votes user_b')
     self.assertTrue(reply.startswith('user_b has 0'))
     record = get_votes_record('user_b')
     self.assertEqual(record.votes, 0)
Exemplo n.º 7
0
 def test_downvote_user_has_neg_one_vote(self):
     self.send_reaction('downvote', 'user_a', 'user_b')
     record = get_votes_record('user_b')
     self.assertEqual(record.votes, -1)