@@ -214,18 +214,43 @@ def test_group_fileter(self):
214214 self .assertTrue (Filters .group (self .message ))
215215
216216 def test_filters_chat (self ):
217- self .assertFalse (Filters .chat (- 1 )(self .message ))
217+ with self .assertRaisesRegexp (ValueError , 'either chat_id or username' ):
218+ Filters .chat (chat_id = 0 , username = 'chat' )
219+ Filters .chat ()
220+
221+ def test_filters_chat_id (self ):
222+ self .assertFalse (Filters .chat (chat_id = - 1 )(self .message ))
218223 self .message .chat .id = - 1
219- self .assertTrue (Filters .chat (- 1 )(self .message ))
224+ self .assertTrue (Filters .chat (chat_id = - 1 )(self .message ))
220225 self .message .chat .id = - 2
221- self .assertFalse (Filters .chat (- 1 )(self .message ))
226+ self .assertFalse (Filters .chat (chat_id = - 1 )(self .message ))
227+
228+ def test_filters_chat_username (self ):
229+ self .assertFalse (Filters .chat (username = 'chat' )(self .message ))
230+ self .message .chat .username = 'chat'
231+ self .assertTrue (Filters .chat (username = '@chat' )(self .message ))
232+ self .assertTrue (Filters .chat (username = 'chat' )(self .message ))
233+ self .assertFalse (Filters .chat (username = '@chat_username' )(self .message ))
222234
223235 def test_filters_user (self ):
224- self .assertFalse (Filters .user (1 )(self .message ))
236+ with self .assertRaisesRegexp (ValueError , 'either user_id or username' ):
237+ Filters .user (user_id = 0 , username = 'user' )
238+ Filters .user ()
239+
240+ def test_filters_user_id (self ):
241+ self .assertFalse (Filters .user (user_id = 1 )(self .message ))
225242 self .message .from_user .id = 1
226- self .assertTrue (Filters .user (1 )(self .message ))
243+ self .assertTrue (Filters .user (user_id = 1 )(self .message ))
227244 self .message .from_user .id = 2
228- self .assertFalse (Filters .user (1 )(self .message ))
245+ self .assertFalse (Filters .user (user_id = 1 )(self .message ))
246+
247+ def test_filters_username (self ):
248+ self .assertFalse (Filters .user (username = 'user' )(self .message ))
249+ self .assertFalse (Filters .user (username = 'Testuser' )(self .message ))
250+ self .message .from_user .username = 'user'
251+ self .assertTrue (Filters .user (username = '@user' )(self .message ))
252+ self .assertTrue (Filters .user (username = 'user' )(self .message ))
253+ self .assertFalse (Filters .user (username = '@username' )(self .message ))
229254
230255 def test_and_filters (self ):
231256 self .message .text = 'test'
0 commit comments