test(webhook): empty text no media returns 400

Phillip Davis created

Change summary

test/property/test_webhook_handler.rb | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Detailed changes

test/property/test_webhook_handler.rb 🔗

@@ -331,4 +331,28 @@ class WebhookPropertyTest < Minitest::Test
 		}
 	end
 	em :test_inbound_resend_emits_correct_resend_stream_event
+
+	def test_inbound_empty_text_no_media_returns_400
+		property_of {
+			Webhook
+				.new(REDIS)
+				.type { "message-received" }
+				.message { |registered, jid, dir, _|
+					Message
+						.new(REDIS)
+						.to { [nanpa_phone] }
+						.text { "" }
+						.media { nil }
+						.generate(registered, jid, dir)
+				}
+				.generate
+		}.check { |metadata, example|
+			result = invoke_webhook(example)
+			assert_equal [400, {}, "Missing params\n"], result
+			assert_empty written
+			entries = REDIS.stream_entries("messages").sync
+			assert_empty entries
+		}
+	end
+	em :test_inbound_empty_text_no_media_returns_400
 end