diff --git a/test/test_webhook_handler.rb b/test/test_webhook_handler.rb index 0b385a56b72b3ed3417aed2b8f07f6d874c1810e..7ddd3a582ca8ca61133a9444058b806b79d82f34 100644 --- a/test/test_webhook_handler.rb +++ b/test/test_webhook_handler.rb @@ -338,4 +338,41 @@ class WebhookHandlerTest < Minitest::Test assert_equal "true", uri_addr['delivered'] end em :test_message_received_group_stanza_has_addresses + + def test_message_received_single_recipient_with_media_stanza + payload = { + "type" => "message-received", + "to" => "+15550000000", + "message" => { + "id" => "bw-in-media-001", + "direction" => "in", + "owner" => "+15550000000", + "from" => "+15551234567", + "to" => ["+15550000000"], + "time" => "2025-01-13T10:00:00Z", + "text" => "Check this", + "media" => ["https://example.com/image.jpg"] + } + } + + invoke_webhook(payload) + + assert_equal 2, written.length + + oob_msg = written[0] + assert_equal "test@example.com", oob_msg.to.to_s + assert_equal "+15551234567@component", oob_msg.from.to_s + oob_x = oob_msg.find_first("x") + refute_nil oob_x + assert_equal "jabber:x:oob", oob_x['xmlns'] + oob_url = oob_x.find_first("url") + refute_nil oob_url + assert_equal "https://example.com/image.jpg", oob_url.text + + text_msg = written[1] + assert_equal "test@example.com", text_msg.to.to_s + assert_equal "+15551234567@component", text_msg.from.to_s + assert_equal "Check this", text_msg.body + end + em :test_message_received_single_recipient_with_media_stanza end