@@ -332,28 +332,81 @@ def test_message_metadata_preserved(self):
332332 room_id = "test-room"
333333 callback = Mock ()
334334 self .router .observe_slash_cmd_msg (room_id , "help" , callback )
335-
335+
336336 original_msg = Message (
337337 id = "test-id" ,
338338 body = "/help getting-started" ,
339- sender = "test-user" ,
339+ sender = "test-user" ,
340340 time = 123.456 ,
341341 mentions = ["@someone" ],
342342 attachments = ["file1.txt" ]
343343 )
344-
344+
345345 self .router ._route_message (room_id , original_msg )
346-
346+
347347 call_args = callback .call_args_list [0 ][0 ]
348348 trimmed_msg = call_args [2 ]
349-
349+
350350 # Check that metadata is preserved
351351 assert trimmed_msg .id == original_msg .id
352352 assert trimmed_msg .sender == original_msg .sender
353353 assert trimmed_msg .time == original_msg .time
354354 assert trimmed_msg .mentions == original_msg .mentions
355355 assert trimmed_msg .attachments == original_msg .attachments
356-
356+
357357 # Only body should be different
358358 assert trimmed_msg .body == "getting-started"
359359 assert original_msg .body == "/help getting-started" # Original unchanged
360+
361+ def test_deleted_messages_not_routed (self ):
362+ """Test that deleted messages are not routed to any callbacks."""
363+ room_id = "test-room"
364+ slash_callback = Mock ()
365+ msg_callback = Mock ()
366+
367+ self .router .observe_slash_cmd_msg (room_id , "help" , slash_callback )
368+ self .router .observe_chat_msg (room_id , msg_callback )
369+
370+ # Test deleted slash command message
371+ deleted_slash_msg = Message (
372+ id = "1" ,
373+ body = "/help topic" ,
374+ sender = "user" ,
375+ time = 123 ,
376+ deleted = True
377+ )
378+ self .router ._route_message (room_id , deleted_slash_msg )
379+ slash_callback .assert_not_called ()
380+
381+ # Test deleted regular message
382+ deleted_regular_msg = Message (
383+ id = "2" ,
384+ body = "Hello world" ,
385+ sender = "user" ,
386+ time = 124 ,
387+ deleted = True
388+ )
389+ self .router ._route_message (room_id , deleted_regular_msg )
390+ msg_callback .assert_not_called ()
391+
392+ # Verify non-deleted messages still work
393+ normal_slash_msg = Message (
394+ id = "3" ,
395+ body = "/help topic" ,
396+ sender = "user" ,
397+ time = 125 ,
398+ deleted = False
399+ )
400+ self .router ._route_message (room_id , normal_slash_msg )
401+ slash_callback .assert_called_once ()
402+
403+ normal_regular_msg = Message (
404+ id = "4" ,
405+ body = "Hello world" ,
406+ sender = "user" ,
407+ time = 126 ,
408+ deleted = False
409+ )
410+ self .router ._route_message (room_id , normal_regular_msg )
411+ msg_callback .assert_called_once ()
412+
0 commit comments