@@ -423,6 +423,68 @@ def loop_times(times)
423423 @client . delete_message ( msg_id , hard : true )
424424 end
425425
426+ it 'hard deletes a message using hard_delete_message method' do
427+ msg_id = SecureRandom . uuid
428+ @channel . send_message ( {
429+ 'id' => msg_id ,
430+ 'text' => 'hello world'
431+ } , @random_user [ :id ] )
432+ @client . hard_delete_message ( msg_id )
433+ end
434+
435+ it 'deletes a message for me using delete_message_for_me method' do
436+ msg_id = SecureRandom . uuid
437+ user_id = @random_user [ :id ]
438+ @channel . send_message ( {
439+ 'id' => msg_id ,
440+ 'text' => 'test message to delete for me'
441+ } , user_id )
442+ @client . delete_message_for_me ( msg_id , user_id )
443+ end
444+
445+ it 'deletes a message with options using delete_message_with_options method' do
446+ msg_id = SecureRandom . uuid
447+ user_id = @random_user [ :id ]
448+ @channel . send_message ( {
449+ 'id' => msg_id ,
450+ 'text' => 'test message to delete with options'
451+ } , user_id )
452+ @client . delete_message_with_options ( msg_id , delete_for_me : true , user_id : user_id )
453+ end
454+
455+ it 'hard deletes a message with options using delete_message_with_options method' do
456+ msg_id = SecureRandom . uuid
457+ @channel . send_message ( {
458+ 'id' => msg_id ,
459+ 'text' => 'test message to hard delete with options'
460+ } , @random_user [ :id ] )
461+ @client . delete_message_with_options ( msg_id , hard : true )
462+ end
463+
464+ it 'raises error when delete_for_me is true but user_id is empty' do
465+ msg_id = SecureRandom . uuid
466+ @channel . send_message ( {
467+ 'id' => msg_id ,
468+ 'text' => 'test message'
469+ } , @random_user [ :id ] )
470+
471+ expect {
472+ @client . delete_message_for_me ( msg_id , '' )
473+ } . to raise_error ( ArgumentError , 'user_id must not be empty for delete_for_me functionality' )
474+ end
475+
476+ it 'raises error when delete_for_me is true but user_id is nil in delete_message_with_options' do
477+ msg_id = SecureRandom . uuid
478+ @channel . send_message ( {
479+ 'id' => msg_id ,
480+ 'text' => 'test message'
481+ } , @random_user [ :id ] )
482+
483+ expect {
484+ @client . delete_message_with_options ( msg_id , delete_for_me : true , user_id : nil )
485+ } . to raise_error ( ArgumentError , 'user_id must not be empty for delete_for_me functionality' )
486+ end
487+
426488 it 'undeletes a message' do
427489 msg_id = SecureRandom . uuid
428490 user_id = @random_user [ :id ]
0 commit comments